#BabelOfCode 2024
Week 11, Puzzle 17
Language: Idris
PREV WEEK: https://mastodon.social/@mcc/114582208242623432
RULES: https://mastodon.social/@mcc/113676228091546556
PUZZLE TEXT: https://adventofcode.com/2024/day/17
Now getting extreme with "puzzles out of order". Here's the problem. The AOC author *really* likes puzzles involving 2D arrays. It makes sense. They're easy to visualize as either ASCII art or PNGs. They're a rich space for "simulations". But some languages are better at them than others.
So for Idris week, I pick the "build a CPU" puzzle.
#BabelOfCode 2024
Week 10, Puzzle 11
Language: Textual Wasm
Confidence level: Medium high
PREV WEEK: https://mastodon.social/@mcc/114524697727786286
NEXT: https://mastodon.social/@mcc/117436256447438940
I'm now doing the puzzles slightly out of order.
"Wasm" is a bytecode VM that runs in web browsers as an alternative to JavaScript. Oddly for a modern VM, it's designed to be targeted by C.
A thing I've heard repeatedly claimed, both excitedly & with eyerolls, is that Wasm's human readable form is "a LISP". I want to know what that means.
I was too busy to do AOC this month (that's https://adventofcode.com/).
So I'm thinking I'm going to do AOC 2024, *in 2025*, under the following rules:
- One challenge per week.
- I don't have to perform a challenge every week. The goal is to finish by the start of December.
- I have to do a different programming language every time.
- C, C++ and Objective-C are not eligible languages.
- If I make an honest attempt at a language and fail, I may retry in Go (but only Go) (I need to learn Go)
Idris is "Haskell, but more so". Haskell is "ML, but more so". I have always liked ML. I have never liked Haskell (although when I tried it again for this thread series, I enjoyed it more than I expected). I have always suspected I might like Idris more than Haskell. Maybe the awkward concepts in Haskell aren't *awkward* just *incomplete*. Maybe another language could complete them.
Conveniently, Idris installs itself through the Haskell package manager, which I already installed for week 7!