Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/slotthe/advent

Advent of Code—now with even more languages!
https://github.com/slotthe/advent

advent-of-code apl bqn clojure haskell ocaml python rust

Last synced: 4 months ago
JSON representation

Advent of Code—now with even more languages!

Awesome Lists containing this project

README

        

# Advent of Code

## Some general information

- Languages for a given day appear in solving order (from left to right).
Later solutions might be prettier, but they also might not be.

- I don't generally "go back" to improve old solutions,
though I might play around with new utility libraries and shoehorn them into past years.

- This code is not well documented, pretty, fast, or even particularly readable.
I'm just having fun (and learning lots of languages) :)

## 2023

- Day 1 : [Haskell][2023:day01:haskell], [Rust][2023:day01:rust], [Clojure][2023:day01:clojure], [Ocaml][2023:day01:ocaml], [Python][2023:day01:python], [Emacs Lisp][2023:day01:elisp]
- Day 2 : [Haskell][2023:day02:haskell], [Rust][2023:day02:rust], [Python][2023:day02:python], [Clojure][2023:day02:clojure], [Ocaml][2023:day02:ocaml]
- Day 3 : [Rust][2023:day03:rust], [Clojure][2023:day03:clojure], [Python][2023:day03:python]
- Day 4 : [Rust][2023:day04:rust], [Clojure][2023:day04:clojure], [OCaml][2023:day04:ocaml], [Python][2023:day04:python]
- Day 5 : [Clojure][2023:day05:clojure], [Rust][2023:day05:rust], [Python][2023:day05:python]
- Day 6 : [OCaml][2023:day06:ocaml], [Clojure][2023:day06:clojure], [Rust][2023:day06:rust], [Python][2023:day06:python]
- Day 7 : [Haskell][2023:day07:haskell], [Python][2023:day07:python]
- Day 8 : [Clojure][2023:day08:clojure], [Rust][2023:day08:rust], [OCaml][2023:day08:ocaml], [Python][2023:day08:python]
- Day 9 : [Clojure][2023:day09:clojure], [Rust][2023:day09:rust], [Haskell][2023:day09:haskell], [Python][2023:day09:python]
- Day 10 : [Clojure][2023:day10:clojure]
- Day 11 : [Clojure][2023:day11:clojure]
- Day 12 : [Clojure][2023:day12:clojure]
- Day 13 : [Clojure][2023:day13:clojure], [Rust][2023:day13:rust], [Python][2023:day13:python]
- Day 14 : [Rust][2023:day14:rust]
- Day 15 : [Clojure][2023:day15:clojure]
- Day 16 : [Clojure][2023:day16:clojure], [Haskell][2023:day16:haskell]
- Day 17 : [Rust][2023:day17:rust]
- Day 18 : [Clojure][2023:day18:clojure]
- Day 19 : [Haskell][2023:day19:haskell]
- Day 20 : [Clojure][2023:day20:clojure]
- Day 21 : [Clojure][2023:day21:clojure]
- Day 22 : [Haskell][2023:day22:haskell]
- Day 23 : [Rust][2023:day23:rust]
- Day 24 : [Clojure][2023:day24:clojure]
- Day 25 : [Haskell][2023:day25:haskell]

[2023:day01:haskell]: ./aoc2023/haskell-solutions/src/Day01.hs
[2023:day01:rust]: ./aoc2023/rust-solutions/src/day01.rs
[2023:day01:clojure]: ./aoc2023/clojure-solutions/src/clojure_solutions/day01.clj
[2023:day01:ocaml]: ./aoc2023/ocaml_solutions/lib/day01.ml
[2023:day01:python]: ./aoc2023/python-solutions/src/day01.py
[2023:day01:elisp]: ./aoc2023/elisp-solutions/day01.el
[2023:day02:haskell]: ./aoc2023/haskell-solutions/src/Day02.hs
[2023:day02:rust]: ./aoc2023/rust-solutions/src/day02.rs
[2023:day02:python]: ./aoc2023/python-solutions/src/day02.py
[2023:day02:clojure]: ./aoc2023/clojure-solutions/src/clojure_solutions/day02.clj
[2023:day02:ocaml]: ./aoc2023/ocaml_solutions/lib/day02.ml
[2023:day03:rust]: ./aoc2023/rust-solutions/src/day03.rs
[2023:day03:clojure]: ./aoc2023/clojure-solutions/src/clojure_solutions/day03.clj
[2023:day03:python]: ./aoc2023/python-solutions/src/day03.py
[2023:day04:rust]: ./aoc2023/rust-solutions/src/day04.rs
[2023:day04:clojure]: ./aoc2023/clojure-solutions/src/clojure_solutions/day04.clj
[2023:day04:ocaml]: ./aoc2023/ocaml_solutions/lib/day04.ml
[2023:day04:python]: ./aoc2023/python-solutions/src/day04.py
[2023:day05:clojure]: ./aoc2023/clojure-solutions/src/clojure_solutions/day05.clj
[2023:day05:rust]: ./aoc2023/rust-solutions/src/day05.rs
[2023:day05:python]: ./aoc2023/python-solutions/src/day05.py
[2023:day06:ocaml]: ./aoc2023/ocaml_solutions/lib/day06.ml
[2023:day06:clojure]: ./aoc2023/clojure-solutions/src/clojure_solutions/day06.clj
[2023:day06:rust]: ./aoc2023/rust-solutions/src/day06.rs
[2023:day06:python]: ./aoc2023/python-solutions/src/day06.py
[2023:day07:haskell]: ./aoc2023/haskell-solutions/src/Day07.hs
[2023:day07:python]: ./aoc2023/python-solutions/src/day07.py
[2023:day08:clojure]: ./aoc2023/clojure-solutions/src/clojure_solutions/day08.clj
[2023:day08:rust]: ./aoc2023/rust-solutions/src/day08.rs
[2023:day08:ocaml]: ./aoc2023/ocaml_solutions/lib/day08.ml
[2023:day08:python]: ./aoc2023/python-solutions/src/day08.py
[2023:day09:clojure]: ./aoc2023/clojure-solutions/src/clojure_solutions/day09.clj
[2023:day09:rust]: ./aoc2023/rust-solutions/src/day09.rs
[2023:day09:haskell]: ./aoc2023/haskell-solutions/src/Day09.hs
[2023:day09:python]: ./aoc2023/python-solutions/src/day09.py
[2023:day10:clojure]: ./aoc2023/clojure-solutions/src/clojure_solutions/day10.clj
[2023:day11:clojure]: ./aoc2023/clojure-solutions/src/clojure_solutions/day11.clj
[2023:day12:clojure]: ./aoc2023/clojure-solutions/src/clojure_solutions/day12.clj
[2023:day13:clojure]: ./aoc2023/clojure-solutions/src/clojure_solutions/day13.clj
[2023:day13:python]: ./aoc2023/python-solutions/src/day13.py
[2023:day13:rust]: ./aoc2023/rust-solutions/src/day13.rs
[2023:day14:rust]: ./aoc2023/rust-solutions/src/day14.rs
[2023:day15:clojure]: ./aoc2023/clojure-solutions/src/clojure_solutions/day15.clj
[2023:day16:clojure]: ./aoc2023/clojure-solutions/src/clojure_solutions/day16.clj
[2023:day16:haskell]: ./aoc2023/haskell-solutions/src/Day16.hs
[2023:day17:rust]: ./aoc2023/rust-solutions/src/day17.rs
[2023:day18:clojure]: ./aoc2023/clojure-solutions/src/clojure_solutions/day18.clj
[2023:day19:haskell]: ./aoc2023/haskell-solutions/src/Day19.hs
[2023:day20:clojure]: ./aoc2023/clojure-solutions/src/clojure_solutions/day20.clj
[2023:day21:clojure]: ./aoc2023/clojure-solutions/src/clojure_solutions/day21.clj
[2023:day22:haskell]: ./aoc2023/haskell-solutions/src/Day22.hs
[2023:day23:rust]: ./aoc2023/rust-solutions/src/day23.rs
[2023:day24:clojure]: ./aoc2023/clojure-solutions/src/clojure_solutions/day24.clj
[2023:day25:haskell]: ./aoc2023/haskell-solutions/src/Day25.hs

## 2022

- Day 1 : [Rust][2022:day1:rust], [Clojure][2022:day1:clojure], [Haskell][2022:day1:haskell], [(Dyalog + GNU)APL][2022:day1:apl], [BQN][2022:day1:bqn]
- Day 2 : [Rust][2022:day2:rust], [Clojure][2022:day2:clojure], [Haskell][2022:day2:haskell], [Dyalog APL][2022:day2:apl], [BQN][2022:day2:bqn]
- Day 3 : [Clojure][2022:day3:clojure], [Rust][2022:day3:rust], [Haskell][2022:day3:haskell], [Dyalog APL][2022:day3:apl]
- Day 4 : [Rust][2022:day4:rust], [Clojure][2022:day4:clojure], [Haskell][2022:day4:haskell], [Dyalog APL][2022:day4:apl]
- Day 5 : [Haskell][2022:day5:haskell], [Clojure][2022:day5:clojure], [Rust][2022:day5:rust]
- Day 6 : [Haskell][2022:day6:haskell], [Clojure][2022:day6:clojure], [Rust][2022:day6:rust], [Dyalog APL][2022:day6:apl]
- Day 7 : [Clojure][2022:day7:clojure], [Haskell][2022:day7:haskell], [Rust][2022:day7:rust]
- Day 8 : [Haskell][2022:day8:haskell], [Clojure][2022:day8:clojure], [BQN][2022:day8:bqn]
- Day 9 : [Clojure][2022:day9:clojure], [Haskell][2022:day9:haskell]
- Day 10 : [Clojure][2022:day10:clojure], [Rust][2022:day10:rust]
- Day 11 : [Haskell][2022:day11:haskell]
- Day 12 : [Clojure][2022:day12:clojure], [Haskell][2022:day12:haskell]
- Day 13 : [Haskell][2022:day13:haskell], [Clojure][2022:day13:clojure]
- Day 14 : [Clojure][2022:day14:clojure], [Haskell][2022:day14:haskell]
- Day 15 : [Clojure][2022:day15:clojure]
- Day 16 : [Haskell][2022:day16:haskell], [Clojure][2022:day16:clojure]
- Day 17 : [Clojure][2022:day17:clojure]
- Day 18 : [Clojure][2022:day18:clojure]
- Day 19 : [Clojure][2022:day19:clojure]
- Day 20 : [Haskell][2022:day20:haskell]
- Day 21 : [Haskell][2022:day21:haskell]
- Day 22 : [Clojure][2022:day22:clojure]
- Day 23 : [Clojure][2022:day23:clojure]
- Day 24 : [Haskell][2022:day24:haskell]
- Day 25 : [Clojure][2022:day25:clojure]

[2022:day1:rust]: ./aoc2022/rust-solutions/src/day1.rs
[2022:day1:clojure]: ./aoc2022/clojure-solutions/src/clojure_solutions/day1.clj
[2022:day1:haskell]: ./aoc2022/haskell-solutions/src/Day1.hs
[2022:day1:apl]: ./aoc2022/apl-solutions/day01.apl
[2022:day1:bqn]: ./aoc2022/bqn-solutions/day01.bqn
[2022:day2:rust]: ./aoc2022/rust-solutions/src/day2.rs
[2022:day2:clojure]: ./aoc2022/clojure-solutions/src/clojure_solutions/day2.clj
[2022:day2:haskell]: ./aoc2022/haskell-solutions/src/Day2.hs
[2022:day2:apl]: ./aoc2022/apl-solutions/day02.apl
[2022:day2:bqn]: ./aoc2022/bqn-solutions/day02.bqn
[2022:day3:clojure]: ./aoc2022/clojure-solutions/src/clojure_solutions/day3.clj
[2022:day3:rust]: ./aoc2022/rust-solutions/src/day3.rs
[2022:day3:haskell]: ./aoc2022/haskell-solutions/src/Day3.hs
[2022:day3:apl]: ./aoc2022/apl-solutions/day03.apl
[2022:day4:rust]: ./aoc2022/rust-solutions/src/day4.rs
[2022:day4:clojure]: ./aoc2022/clojure-solutions/src/clojure_solutions/day4.clj
[2022:day4:haskell]: ./aoc2022/haskell-solutions/src/Day4.hs
[2022:day4:apl]: ./aoc2022/apl-solutions/day04.apl
[2022:day5:haskell]: ./aoc2022/haskell-solutions/src/Day5.hs
[2022:day5:clojure]: ./aoc2022/clojure-solutions/src/clojure_solutions/day5.clj
[2022:day5:rust]: ./aoc2022/rust-solutions/src/day5.rs
[2022:day6:haskell]: ./aoc2022/haskell-solutions/src/Day6.hs
[2022:day6:clojure]: ./aoc2022/clojure-solutions/src/clojure_solutions/day6.clj
[2022:day6:rust]: ./aoc2022/rust-solutions/src/day6.rs
[2022:day6:apl]: ./aoc2022/apl-solutions/day06.apl
[2022:day7:clojure]: ./aoc2022/clojure-solutions/src/clojure_solutions/day7.clj
[2022:day7:haskell]: ./aoc2022/haskell-solutions/src/Day7.hs
[2022:day7:rust]: ./aoc2022/rust-solutions/src/day7.rs
[2022:day8:clojure]: ./aoc2022/clojure-solutions/src/clojure_solutions/day8.clj
[2022:day8:haskell]: ./aoc2022/haskell-solutions/src/Day8.hs
[2022:day8:bqn]: ./aoc2022/bqn-solutions/day08.bqn
[2022:day9:haskell]: ./aoc2022/haskell-solutions/src/Day9.hs
[2022:day9:clojure]: ./aoc2022/clojure-solutions/src/clojure_solutions/day9.clj
[2022:day10:clojure]: ./aoc2022/clojure-solutions/src/clojure_solutions/day10.clj
[2022:day10:rust]: ./aoc2022/rust-solutions/src/day10.rs
[2022:day11:haskell]: ./aoc2022/haskell-solutions/src/Day11.hs
[2022:day12:clojure]: ./aoc2022/clojure-solutions/src/clojure_solutions/day12.clj
[2022:day12:haskell]: ./aoc2022/haskell-solutions/src/Day12.hs
[2022:day13:haskell]: ./aoc2022/haskell-solutions/src/Day13.hs
[2022:day13:clojure]: ./aoc2022/clojure-solutions/src/clojure_solutions/day13.clj
[2022:day14:clojure]: ./aoc2022/clojure-solutions/src/clojure_solutions/day14.clj
[2022:day14:haskell]: ./aoc2022/haskell-solutions/src/Day14.hs
[2022:day15:clojure]: ./aoc2022/clojure-solutions/src/clojure_solutions/day15.clj
[2022:day16:haskell]: ./aoc2022/haskell-solutions/src/Day16.hs
[2022:day16:clojure]: ./aoc2022/clojure-solutions/src/clojure_solutions/day16.clj
[2022:day17:clojure]: ./aoc2022/clojure-solutions/src/clojure_solutions/day17.clj
[2022:day18:clojure]: ./aoc2022/clojure-solutions/src/clojure_solutions/day18.clj
[2022:day19:clojure]: ./aoc2022/clojure-solutions/src/clojure_solutions/day19.clj
[2022:day20:haskell]: ./aoc2022/haskell-solutions/src/Day20.hs
[2022:day21:haskell]: ./aoc2022/haskell-solutions/src/Day21.hs
[2022:day22:clojure]: ./aoc2022/clojure-solutions/src/clojure_solutions/day22.clj
[2022:day23:clojure]: ./aoc2022/clojure-solutions/src/clojure_solutions/day23.clj
[2022:day24:haskell]: ./aoc2022/haskell-solutions/src/Day24.hs
[2022:day25:clojure]: ./aoc2022/clojure-solutions/src/clojure_solutions/day25.clj

## 2021

Instead of Haskell, I decided to learn Clojure through this.

- Day 1 : [emacs-lisp][2021:day1:elisp], [Dyalog APL][2021:day1:apl], [BQN][2021:day1:bqn]
- Day 2 : [Haskell][2021:day2:haskell] and [Clojure][2021:day2:clojure], [BQN][2021:day2:bqn]
- Day 3 : [Clojure][2021:day3:clojure]
- Day 4 : [Clojure][2021:day4:clojure]
- Day 5 : [Clojure][2021:day5:clojure]
- Day 6 : [Clojure][2021:day6:clojure]
- Day 7 : [Clojure][2021:day7:clojure]
- Day 8 : [Clojure][2021:day8:clojure]
- Day 9 : [Clojure][2021:day9:clojure]
- Day 10 : [Clojure][2021:day10:clojure]
- Day 11 : [Clojure][2021:day11:clojure]
- Day 12 : [Clojure][2021:day12:clojure] and [Haskell][2021:day12:haskell]
- Day 13 : [Clojure][2021:day13:clojure]
- Day 14 : [Clojure][2021:day14:clojure]
- Day 15 : [Clojure][2021:day15:clojure]
- Day 16 : [Haskell][2021:day16:haskell]
- Day 17 : [Clojure][2021:day17:clojure]
- Day 18 : [Clojure][2021:day18:clojure]
- Day 19 : [Clojure][2021:day19:clojure]
- Day 20 : [Clojure][2021:day20:clojure]
- Day 21 : [Clojure][2021:day21:clojure]
- Day 22 : [Clojure][2021:day22:clojure]
- Day 23 : [By hand!][2021:day23:hand]
- Day 24 : [Clojure][2021:day24:clojure]
- Day 25 : [Clojure][2021:day25:clojure]

[2021:day1:elisp]: ./aoc2021/elisp/day1.el
[2021:day1:apl]: ./aoc2021/apl/day01.aplf
[2021:day1:bqn]: ./aoc2021/bqn/day01.bqn
[2021:day2:haskell]: ./aoc2021/haskell/src/Day2.hs
[2021:day2:clojure]: ./aoc2021/clojure-solutions/src/clojure_solutions/day2.clj
[2021:day2:bqn]: ./aoc2021/bqn/day02.bqn
[2021:day3:clojure]: ./aoc2021/clojure-solutions/src/clojure_solutions/day3.clj
[2021:day4:clojure]: ./aoc2021/clojure-solutions/src/clojure_solutions/day4.clj
[2021:day5:clojure]: ./aoc2021/clojure-solutions/src/clojure_solutions/day5.clj
[2021:day6:clojure]: ./aoc2021/clojure-solutions/src/clojure_solutions/day6.clj
[2021:day7:clojure]: ./aoc2021/clojure-solutions/src/clojure_solutions/day7.clj
[2021:day8:clojure]: ./aoc2021/clojure-solutions/src/clojure_solutions/day8.clj
[2021:day9:clojure]: ./aoc2021/clojure-solutions/src/clojure_solutions/day9.clj
[2021:day10:clojure]: ./aoc2021/clojure-solutions/src/clojure_solutions/day10.clj
[2021:day11:clojure]: ./aoc2021/clojure-solutions/src/clojure_solutions/day11.clj
[2021:day12:clojure]: ./aoc2021/clojure-solutions/src/clojure_solutions/day12.clj
[2021:day12:haskell]: ./aoc2021/haskell/src/Day12.hs
[2021:day13:clojure]: ./aoc2021/clojure-solutions/src/clojure_solutions/day13.clj
[2021:day14:clojure]: ./aoc2021/clojure-solutions/src/clojure_solutions/day14.clj
[2021:day15:clojure]: ./aoc2021/clojure-solutions/src/clojure_solutions/day15.clj
[2021:day16:haskell]: ./aoc2021/haskell/src/Day16.hs
[2021:day17:clojure]: ./aoc2021/clojure-solutions/src/clojure_solutions/day17.clj
[2021:day18:clojure]: ./aoc2021/clojure-solutions/src/clojure_solutions/day18.clj
[2021:day19:clojure]: ./aoc2021/clojure-solutions/src/clojure_solutions/day19.clj
[2021:day20:clojure]: ./aoc2021/clojure-solutions/src/clojure_solutions/day20.clj
[2021:day21:clojure]: ./aoc2021/clojure-solutions/src/clojure_solutions/day21.clj
[2021:day22:clojure]: ./aoc2021/clojure-solutions/src/clojure_solutions/day22.clj
[2021:day23:hand]: ./aoc2021/day23.txt
[2021:day24:clojure]: ./aoc2021/clojure-solutions/src/clojure_solutions/day24.clj
[2021:day25:clojure]: ./aoc2021/clojure-solutions/src/clojure_solutions/day25.clj

## 2020

This was me basically learning Haskell.

- Day 1 : [Haskell][2020:day1:haskell]
- Day 2 : [Haskell][2020:day2:haskell]
- Day 3 : [Haskell][2020:day3:haskell]
- Day 4 : [Haskell][2020:day4:haskell]
- Day 5 : [Haskell][2020:day5:haskell]
- Day 6 : [Haskell][2020:day6:haskell]
- Day 7 : [Haskell][2020:day7:haskell]
- Day 8 : [Haskell][2020:day8:haskell]
- Day 9 : [Haskell][2020:day9:haskell]
- Day 10 : [Haskell][2020:day10:haskell]
- Day 11 : [Haskell][2020:day11:haskell]
- Day 12 : [Haskell][2020:day12:haskell]
- Day 13 : [Haskell][2020:day13:haskell]
- Day 14 : [Haskell][2020:day14:haskell]
- Day 15 : [Haskell][2020:day15:haskell]
- Day 16 : [Haskell][2020:day16:haskell]
- Day 17 : [Haskell][2020:day17:haskell]
- Day 18 : [Haskell][2020:day18:haskell]
- Day 19 : [Haskell][2020:day19:haskell]
- Day 20 : [Haskell][2020:day20:haskell]
- Day 21 : [Haskell][2020:day21:haskell]
- Day 22 : [Haskell][2020:day22:haskell]
- Day 23 : [Haskell][2020:day23:haskell]
- Day 24 : [Haskell][2020:day24:haskell]
- Day 25 : [Haskell][2020:day25:haskell]

[2020:day1:haskell]: ./aoc2020/src/Day1.hs
[2020:day2:haskell]: ./aoc2020/src/Day2.hs
[2020:day3:haskell]: ./aoc2020/src/Day3.hs
[2020:day4:haskell]: ./aoc2020/src/Day4.hs
[2020:day5:haskell]: ./aoc2020/src/Day5.hs
[2020:day6:haskell]: ./aoc2020/src/Day6.hs
[2020:day7:haskell]: ./aoc2020/src/Day7.hs
[2020:day8:haskell]: ./aoc2020/src/Day8.hs
[2020:day9:haskell]: ./aoc2020/src/Day9.hs
[2020:day10:haskell]: ./aoc2020/src/Day10.hs
[2020:day11:haskell]: ./aoc2020/src/Day11.hs
[2020:day12:haskell]: ./aoc2020/src/Day12.hs
[2020:day13:haskell]: ./aoc2020/src/Day13.hs
[2020:day14:haskell]: ./aoc2020/src/Day14.hs
[2020:day15:haskell]: ./aoc2020/src/Day15.hs
[2020:day16:haskell]: ./aoc2020/src/Day16.hs
[2020:day17:haskell]: ./aoc2020/src/Day17.hs
[2020:day18:haskell]: ./aoc2020/src/Day18.hs
[2020:day19:haskell]: ./aoc2020/src/Day19.hs
[2020:day20:haskell]: ./aoc2020/src/Day20.hs
[2020:day21:haskell]: ./aoc2020/src/Day21.hs
[2020:day22:haskell]: ./aoc2020/src/Day22.hs
[2020:day23:haskell]: ./aoc2020/src/Day23.hs
[2020:day24:haskell]: ./aoc2020/src/Day24.hs
[2020:day25:haskell]: ./aoc2020/src/Day25.hs

## 2017

- Day 1 : [BQN][2017:day01:bqn]
- Day 2 : [BQN][2017:day02:bqn]
- Day 3 : [BQN][2017:day03:bqn]
- Day 4 : [BQN][2017:day04:bqn]
- Day 5 : [BQN][2017:day05:bqn]
- Day 6 : [BQN][2017:day06:bqn]
- Day 7 : [BQN][2017:day07:bqn]
- Day 8 : [BQN][2017:day08:bqn]
- Day 9 : [BQN][2017:day09:bqn]
- Day 10 : [BQN][2017:day10:bqn]
- Day 11 : [BQN][2017:day11:bqn]
- Day 12 : [BQN][2017:day12:bqn]
- Day 13 : [BQN][2017:day13:bqn]
- Day 14 : [BQN][2017:day14:bqn]
- Day 15 : [BQN][2017:day15:bqn]
- Day 16 : [BQN][2017:day16:bqn]
- Day 17 : [BQN][2017:day17:bqn]
- Day 19 : [BQN][2017:day19:bqn]
- Day 20 : [BQN][2017:day20:bqn]
- Day 23 : [BQN][2017:day23:bqn]
- Day 24 : [BQN][2017:day24:bqn]

[2017:day01:bqn]: ./aoc2017/bqn/day01.bqn
[2017:day02:bqn]: ./aoc2017/bqn/day02.bqn
[2017:day03:bqn]: ./aoc2017/bqn/day03.bqn
[2017:day04:bqn]: ./aoc2017/bqn/day04.bqn
[2017:day05:bqn]: ./aoc2017/bqn/day05.bqn
[2017:day06:bqn]: ./aoc2017/bqn/day06.bqn
[2017:day07:bqn]: ./aoc2017/bqn/day07.bqn
[2017:day08:bqn]: ./aoc2017/bqn/day08.bqn
[2017:day09:bqn]: ./aoc2017/bqn/day09.bqn
[2017:day10:bqn]: ./aoc2017/bqn/day10.bqn
[2017:day11:bqn]: ./aoc2017/bqn/day11.bqn
[2017:day12:bqn]: ./aoc2017/bqn/day12.bqn
[2017:day13:bqn]: ./aoc2017/bqn/day13.bqn
[2017:day14:bqn]: ./aoc2017/bqn/day14.bqn
[2017:day15:bqn]: ./aoc2017/bqn/day15.bqn
[2017:day16:bqn]: ./aoc2017/bqn/day16.bqn
[2017:day17:bqn]: ./aoc2017/bqn/day17.bqn
[2017:day19:bqn]: ./aoc2017/bqn/day19.bqn
[2017:day20:bqn]: ./aoc2017/bqn/day20.bqn
[2017:day23:bqn]: ./aoc2017/bqn/day23.bqn
[2017:day24:bqn]: ./aoc2017/bqn/day24.bqn

## 2016

- Day 1 : [OCaml][2016:day1:ocaml]
- Day 2 : [OCaml][2016:day2:ocaml]
- Day 3 : [OCaml][2016:day3:ocaml]
- Day 4 : [OCaml][2016:day4:ocaml]
- Day 5 : [OCaml][2016:day5:ocaml]
- Day 6 : [OCaml][2016:day6:ocaml]
- Day 7 : [OCaml][2016:day7:ocaml]
- Day 8 : [OCaml][2016:day8:ocaml]
- Day 9 : [OCaml][2016:day9:ocaml]
- Day 10 : [OCaml][2016:day10:ocaml], [Haskell][2016:day10:haskell]
- Day 12 : [OCaml][2016:day12:ocaml]

[2016:day1:ocaml]: ./aoc2016/ocaml_solutions/lib/day1.ml
[2016:day2:ocaml]: ./aoc2016/ocaml_solutions/lib/day2.ml
[2016:day3:ocaml]: ./aoc2016/ocaml_solutions/lib/day3.ml
[2016:day4:ocaml]: ./aoc2016/ocaml_solutions/lib/day4.ml
[2016:day5:ocaml]: ./aoc2016/ocaml_solutions/lib/day5.ml
[2016:day6:ocaml]: ./aoc2016/ocaml_solutions/lib/day6.ml
[2016:day7:ocaml]: ./aoc2016/ocaml_solutions/lib/day7.ml
[2016:day8:ocaml]: ./aoc2016/ocaml_solutions/lib/day8.ml
[2016:day9:ocaml]: ./aoc2016/ocaml_solutions/lib/day9.ml
[2016:day10:ocaml]: ./aoc2016/ocaml_solutions/lib/day10.ml
[2016:day10:haskell]: ./aoc2016/haskell-solutions/src/Day10.hs
[2016:day12:ocaml]: ./aoc2016/ocaml_solutions/lib/day12.ml

## 2015

- Day 1 : [Rust][2015:day1:rust]
- Day 2 : [Rust][2015:day2:rust]
- Day 3 : [Rust][2015:day3:rust]
- Day 4 : [Rust][2015:day4:rust]
- Day 5 : [Rust][2015:day5:rust]
- Day 6 : [Rust][2015:day6:rust]
- Day 7 : [Rust][2015:day7:rust]
- Day 8 : [Rust][2015:day8:rust]
- Day 9 : [Rust][2015:day9:rust]
- Day 10 : [Rust][2015:day10:rust]
- Day 11 : [Rust][2015:day11:rust]

[2015:day1:rust]: ./aoc2015/rust-solutions/src/day1.rs
[2015:day2:rust]: ./aoc2015/rust-solutions/src/day2.rs
[2015:day3:rust]: ./aoc2015/rust-solutions/src/day3.rs
[2015:day4:rust]: ./aoc2015/rust-solutions/src/day4.rs
[2015:day5:rust]: ./aoc2015/rust-solutions/src/day5.rs
[2015:day6:rust]: ./aoc2015/rust-solutions/src/day6.rs
[2015:day7:rust]: ./aoc2015/rust-solutions/src/day7.rs
[2015:day8:rust]: ./aoc2015/rust-solutions/src/day8.rs
[2015:day9:rust]: ./aoc2015/rust-solutions/src/day9.rs
[2015:day10:rust]: ./aoc2015/rust-solutions/src/day10.rs
[2015:day11:rust]: ./aoc2015/rust-solutions/src/day11.rs