Solutions to Advent of Code in various languages, primarily functional in nature. Currently, solutions are just in Elixir but other possibilities may be F#, Racket, or Prolog. The likelihood of an imperative or mainly OOP language appearing like C, C++, Python, C#, Java, etc. is extremely low if not zero.
The approach here is generally domain-driven design. Solutions are modeled after the problem descriptions and tend to avoid clever tricks in favor of being explicit, clear, maintainable, etc. The genesis of this approach is to assign semantic, domain relevant types and meaning to the input data provided by the puzzles. Read the introduction in advent_of_code_2022.livemd for more details of this approach.
For languages like Elixir and F#, notebooks will be used. For Elixir, the notebook solution is Livebook. While there are no uploads in F# yet, the solution would be .NET Polyglot Notebooks using .NET Interactive and the Polyglot Notebooks Extension for Visual Studio Code.
Year | Elixir |
---|---|
2022 | advent_of_code_2022.livemd |
2021 | advent_of_code_2021.livemd |