Post #2479116
2026-05-09 07:55 UTC
@MartinEscardo@mathstodon.xyz
5. Edward Kmett once told me that the reason he uses Haskell is that the pipeline to correct software of "write something highly reusable and then get a bunch of bug reports from the community" is much faster than "formally verify" and moreover you get not just bug reports but also patches that increase performance, add more features, etc. In this vein, I follow the philosophy of https://parentheticallyspeaking.org/articles/bicameral-not-homoiconic/ in writing a parser for a fairly generic notation *once* and then use it for all my projects, and then other people use it too, and the end result is a quite pleasant tool! (https://github.com/ToposInstitute/fnotation, also ported to Haskell https://hackage.haskell.org/package/fnotation)
Replies (1)
-
@olynch@mathstodon.xyz 2026-05-09 08:03
@MartinEscardo@mathstodon.xyz Sorry if the tone of this was overly confrontational; I didn't mean it that way but looking over it again I realize I wrote quite a rant. I think it's not an unreasonable idea in general: produce a correct by construction program from a short declarative spec, and then have a handwritten algorithm compare to that autogenerated one. It's just that in the specific case of parsers I happen to have a lot of opinions about the way I want mine to work, and this seems to be incompatible with existing parser generators.