Skip to content

Solutions to all 25 AoC 2015 problems in Clojure! 🎄

License

Notifications You must be signed in to change notification settings

AxlLind/AdventOfCode2015

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

61 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AdventOfCode2015 λ

Solutions to all 25 AoC 2015 problems in Clojure!

Having done both 2019 and 2020, I wanted to go back and do some of the earlier AoC years. I figured 2015 was a perfect opportunity to force myself to become better at functional languages so I did all problems in Clojure. I had never used the language before, or any of the ones in the Lisp family for that matter! It was quite a steep learning curve for me. Mainly it was difficult to get used to reading the parenthesis syntax as well as the prefix notation that Clojure uses. Using a functional approach to solve the problems was really nice most of the time and really awful for some specific ones.

Only thing I did not like was the awful error messages. When you got an exception the top most call site would be reported, not where the actual exception occurred. How is that a thing? Overall, I was presently surprised by Clojure, after I got into it a bit. The language is so small and therefore quite simple. I also extensively used the ->> threading macro, which was amazing for readability.

Usage

clj -M src/DAY.clj

All years

end-screen