Our great sponsors
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
-
Vyxal
A code-golfing language experience that has aspects of traditional programming languages - terse, elegant, readable.
-
coalton
Coalton is an efficient, statically typed functional programming language that supercharges Common Lisp.
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
https://github.com/betaveros/advent-of-code-2022
Which is an interesting take on the concept of domain specific language.
I just checked the 2nd place[^0] person and they... also have their own programming language...[^1]
What's going on here? Are they just extra motivated to show off their languages? Is making your own programming language more common than I realized?
He's written a few of his own programming languages too: https://github.com/hyper-neutrino/proton
Coalton is a good option to explore if you fancy trying AoC with a Lisp:
This feels like making your own lightsaber.
I’ve been using APC to polish my KlongPy [0] array language impl. I’m way behind due to fixing bugs as I go.
[0] https://github.com/briangu/klongpy
It’s a great way to get deeper into a new language as well.
Very cool. I also made a language specifically for AoC, with some similarities: https://github.com/lukechampine/slouch
Example of solving a (non-AoC) problem: https://youtu.be/i_zDbInYOpQ
One of my big takeaways is that the "IDE" plays a big role in how fast you can solve. Recomputing the expression on every keystroke seems a little insane, but the instant feedback you get is priceless.
I've done AoC using my own language before. As a task it's at a sweet spot for finding weaknesses in the language/library/implementation: real and varied enough to exercise your system, small chunks of work, lots of code to compare yours to, with fun and competitive juices.
The first time I did it it forced me to fix some major problems. My language would still be a handicap for me in the state it's in (though I did get on the leaderboard a couple times using it).
fwiw: https://github.com/darius/cant (haven't done this year's so far)