3 ms·
The Haskell and Clojure standard libraries. It's very rare in a programming language that I can click through to the implementation of a function and actually
by jarcane 11y ago
The Haskell and Clojure standard libraries.
It's very rare in a programming language that I can click through to the implementation of a function and actually understand the code I get through the wall of error checking and coercion and OOP gobbledygook to even make sense of what I'm looking at.
But I've never had this problem in Haskell or Clojure. Haskell because that awesome type system makes most of that boilerplate unnecessary, and Clojure because for good or ill, the priority seems to be on clarity of code and letting the Java type system kind of catch a lot of the obvious errors.
Racket, on the other hand, much as I love it, when I go looking at it's internals most of the time it's practically unintelligible to me.
- qwertyuiop924 11y ago>Racket, on the other hand, much as I love it, when I go looking at it's internals most of the time it's practically unintelligible to me. This is one of the reasons Racket never appealed to me. R5RS and R7RS are so simple that you can write most of the interpreter in about a page of code in the language. Although if you read SICP, you already know that :-). Racket and R6RS, OTOH, are full to the brim with complex systems that all interact in a manner that's hard to wrap your head around. Custodians, Contracts, OOP, Delimited Continuations, all there by default... It's just too much. I also dislike syntax-case, but that's more of a personal issue than anything else. I'd even prefer Common Lisp. Sure, it's about the same size at least, but it's not trying to make you use 5 paradigms at once. Sure, you COULD, but you don't HAVE to. But then, I suppose that is what lisp is about.