Complete 2022 to 2015 entries for the annual Advent of Code challenge, written in concise idiomatic functional Scala.
As far as possible, each day's solution embraces the following approaches:
- Self-contained within a single file, depending only on the standard Scala library.
- Immutable data structures, using copy-on-write to update.
- Pure functions with side effects, such as printing to the screen, restricted to a single
main
method.
The minimal SBT project provides:
- Straightforward consistent layout of code, resources and tests.
- Unit test coverage based on the sample input.
- Continuous integration using Actions.