3 ms·
I like to see Clojure definitely scheme-inspired, but it is a very different language. Scheme has this approach where you can build almost anything out of cons,
by wirrbel 12y ago
I like to see Clojure definitely scheme-inspired, but it is a very different language. Scheme has this approach where you can build almost anything out of cons, car, cdr.
After using Clojure for a while, all this cons, car, cdr stuff of Scheme feels like being stuck in implementation detail.
With the scheme community insisting on (1) recursion as the primary means for looping (2) no general polymorphism in the language standard I see no future in Scheme.
(1) - I have seen the light with Clojure's `for` macro. While it is not much more as a `map` (or a python/haskell list comprehension) its that kind of sugar that is really readable and is a good platform for beginners to reach up to map, fold, and other higher order functions.
(2) - Lists have car, cdr, Lazy lists in Scheme have stream-car, stream-cdr. I.e. I cannot use an algorithm that works on lists on lazy lists, etc. Even some lightweight dispatch here would make scheme so much more powerful and useful.
So: While clojure is not much more than Scheme, it demonstrates how a little more can actually make a huge difference in usability and adoption
PS: I really like Scheme as a small, simple language that gives you a good idea how an interpreter might work under the hood.