o
odin.langpkg.dev
packages / library / aoc-2024

aoc-2024

a30ce1clibrary

Aoc solves

MIT · updated 2 years ago

aoc-2024

Limits:

Common Lisp - Functional Programming

Odin - Procedural Programming

Prolog - Logic Programming

Java - Object Oriented Programming

To Java: i will most likely just use it for a single challenge, because i consider OOP to be a very useless paradigm.

Day1:

Thought it was a cool challenge to do in FP. So i picked Common Lisp. Initial hurdles were there, considering i cannot easily get in the FP mindset, but it turned out to be relatively neat I think, i am improving when it comes to algorithmic challenges already, i tend to usually lay data out, this time i was just purely interested on how to actually split up the task and solve it

Day2:

Looked like this algorithm can be easily mapped to constraints, so i used Prolog. It took me around ~2hrs(!!!) to get to the solution, part 2 was actually so confusing that i started to ask a LLM for some assistance (i've never done logic programming) so it gave me a rough idea of what to do (namely: just generate all the different variation of cutted lists and work on those) this tbh, just sounded like a bad idea to me, that i would have never thought of it. But hey, this is the solution i got! In general, i kind of liked this. I love constraint programming in general, might be because of my Reverse experience.. But, yeah! This was a cool experience that i probably won't be doing again too soon. :)

Day2:

Looked like this algorithm can be easily mapped to constraints, so i used Prolog. It took me around ~2hrs(!!!) to get to the solution, part 2 was actually so confusing that i started to ask a LLM for some assistance (i've never done logic programming) so it gave me a rough idea of what to do (namely: just generate all the different variation of cutted lists and work on those) this tbh, just sounded like a bad idea to me, that i would have never thought of it. But hey, this is the solution i got! In general, i kind of liked this. I love constraint programming in general, might be because of my Reverse experience.. But, yeah! This was a cool experience that i probably won't be doing again too soon. :)

Day3:

I just basically picked CL because i wanted to XD

Day4:

Odin, because sounds like data :D Was cool, i made the stupid mistake in Part1 to forget bounds checking on rows. I also for some reason wanted to do it on a flat string. I am absolutely stupid