| ▲ | 3836293648 12 hours ago | |||||||||||||||||||||||||
It's a cool hack. It's also a catastrophe for actual usage. State-of-the-art doesn't mean good, it just means new, shiny and complex. Not being able to do syntax highlighting without a full typechecking pass is a usability nightmare. Anyway, that's not the part I the human struggle with, it's remembering what level of infix each new custom operator has. Why λ() isn't equivalent with λ{}, if `a b , c` is `(a b) , c` or `a (b , c)` with this version of comma (Though now I've given up on the others and just use Σ a (λ _ -> b) for all kinds of tuples just to make it consistent). Why implicits won't unify as I expect them to. Why with just doesn't work in a reasonable fashion at all ever beyond the most basic two cases (no nesting and only nest in the final case). Literally copy pasting from the docs doesn't parse. Cool trick, but in practice it was a mistake and Haskell's take on custom operators was far enough. | ||||||||||||||||||||||||||
| ▲ | mietek 11 hours ago | parent [-] | |||||||||||||||||||||||||
Here are some resources to help you get started. An Agda course taught in Padova since 2024: https://agdapad.quasicoherent.io/~Padova2026/ "Programming Language Foundations in Agda", a course taught at multiple universities since 2018: https://plfa.github.io Conor Titania McBride's lectures on Agda, including videos: https://github.com/pigworker/CS410-18 Thorsten Altenkirch's lectures on computer-aided formal reasoning using Agda: https://www.cs.nott.ac.uk/~psztxa/g53cfr | ||||||||||||||||||||||||||
| ||||||||||||||||||||||||||