this post was submitted on 13 Nov 2023
5 points (85.7% liked)
Advent of Code
290 readers
1 users here now
Advent of Code is an annual Advent calendar of small programming puzzles for a variety of skill sets and skill levels that can be solved in any programming language you like.
founded 1 year ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
I first started going through my solutions from last year because I was intrigued by the interesting new language Uiua (pronounced wee-wuh) which is described as a "general purpose, stack-based, array-oriented programming language with a focus on simplicity, beauty, and tacit code." (think APL meets FORTH!) But I soon realised that although I could solve some of the problems in Uiua, for others I don't think a day will be long enough!
So it will be back to Dart this year with the goal of having every solution runnable in DartPad in well under one second, and ideally without having to search for hints online. I made it to day 19 last year before I got stumped; you'll see more about that on Sunday!
Uiua sounds super interesting. I remember day 19 last year being very finicky.
I'm the same way I want to solve the problem and not have to also solve the problem of writing in a new language.
Here is my day 19 in clojure (not sure of that helps at all)
Thanks, I’m not that familiar with Clojure, but I can read it okay. How fast did that run for you? I tried it in an online Clojure editor and it took more than 10 seconds for me, which from memory is comparable with my solution before I started hacking in some terrible shortcuts…
Running on my computer part 1 takes ~850ms and part 2 takes ~1300ms
Haha, I bit the bullet and installed Clojure… and Calva… and Leiningrad… and eventually got it to run locally. Looks like it's quite slow via the REPL, but I get similar times to you when I run it with plain old "clojure -M”. That looks like a nice REPL though. I might pick through your code a bit more and see if I can improve my solution before Sunday!
If you are interested I wrote an AoC helper last year for clojure. https://github.com/jjcomer/aoc-helper
I started with the idea of using babashka for everything, but I ran into some namespace issues.
That's probably going to be a bit much for me to get my head around any time soon, but it actually inspired me to complete the automation around my own solutions :-)