Hello, Idris


Learning Idris2

First notes:

Idris2 is a little rough around the edges, yet. Even the installation (from the AUR) was borked for me, and had to be manually repaired. There's a project-management tool included, but it, too, is poorly documented & the UX wasn't great: it happily did nothing when asked to build my project after idris2 --init and I had to guess which parameters had to be added in order to get to actually build a trivial program. Apparently the standard library isn't documented– you have to read the code (to be fair, you can use :doc in the REPL).

Trying to use getOpt. The docs explicitly say: "–package pkg add package as dependency, e.g. –package contrib to make use of the contrib package.", but when I use that option I'm told "Not all command line options can be used to override package options.", whatever that means. But adding it to the .ipkg file did it.

The Idris Discord server was really helpful, but there are no docs– you need to read the stdlib code.

Agda, meanwhile, also got off to a rough start– the Arch package is three releases behind. Well, actually, the install doesn't seem to work at all. I can't even get through the tutorial. Huh, the Agda docs even mention this: "due to significant packaging bugs such as this, you might want to use alternative installation methods" (the linked bug is very similar to the one I'm facing now– the install can't even load Nat). Just, wow. What an apalling experience. I eventually removed every Haskell Arch package I could, re-installed via ghcup, and now things seem to be working. 08/05/24 14:09

POSSE :twitter-text: