Advent of Code - 2017 (Scala Edition)
Note: There are implementations of this in Scala (JVM and native), Kotlin, Haskell and Eta. If you like any of these ... star it :).
This is a JVM/Native crossproject. To make this work you need to ...
- install git (
brew install git) - install sbt (
brew install sbt) - clone the repo (
git clone ...) - run the tests (
sbt aocJVM/test)- this will run all tests and this might take a while
- you can run specific tests with
sbt "aocJVM/testOnly aoc.Day01Spec" - you can run
sbt "aocJVM/testOnly aoc.Day*Spec -- -l aoc.SlowTest"to only run the fast tests (exclude the slow tests) - you can run
sbt "aocJVM/testOnly aoc.Day*Spec -- -n aoc.SolutionTest"to only run the tests that will test for the correct solutions
- run the JVM main (
sbt aocJVM/run) - run the Native main (
sbt aocNative/run) - run a subset of the days (
sbt "aocJVM/run 1/1 5/2 18/1") - generate the doc (
sbt doc) and look at it (open target/scala-2.10/api/index.html)
Note: To make Scala Native work you probably need to install a couple more packages.
Have fun!!!
Note: An older version also had ScalaCheck tests and ScalaMeter tests (that do not work anymore).