5 ms·
Excluding the lens library (as per the article) is unusual, it provides natural getter/setter and row polymorphism type functionality. More anecdotally, I’d ar
by tomasato 7y ago
Excluding the lens library (as per the article) is unusual, it provides natural getter/setter and row polymorphism type functionality.
More anecdotally, I’d argue parsing libraries are common, just look at the prevalence of attoparsec and others. But most parsing libraries in the ecosystem are parser combinator libraries which don’t support as performance and nice error messages that compilers need
- garmaine 7y agoThat was where I stopped reading. If a library like lens—used by nearly every haskeller in every project—was disallowed, I don’t know what the purpose of this exercise was.
- aliceryhl 7y agoI mean, it seems like it was an university course, and writing a compiler from scratch is probably a decent exercise in a compiler course.
- garmaine 7y agoRestrict the students from using a parser library. I get that. But allowing nothing except that standard library? That’s stupid. It also makes the language comparison useless. Python has a standard library that is continuously improved and people reach to that when writing programs. Haskell, like C, ossified it’s standard library when it was created and people use the external packages for equivalent up to date libraries.
- Ericson2314 7y agoParsers are not the interesting parts of compilers.
- pyrale 7y agoLens is far from being used by everyone in the space. On a sample of 5-6 professional users I talked with at this zurihac, most didn't use it.
- tathougies 7y agoI dunno, libraries like earley in Haskell, provide pretty nice error messages.