Scheme Programming Lessons from Tarot
rain-1.github.io
rain-1.github.io
Erlang doesn't seem to allow lazy evaluation; am I wrong about that? Is there some way to do difference lists in Erlang?
Like numerology and magic number'd Clang ;)
Yet 98% (prior knowledge pulled out of my posterior) of lisp haters never spent more than zero seconds actually trying to figure it out.
Scheme is beautiful, but it sacrifices usability for purity. Common Lisp, on the other hand, is usually held to be both "ugly" and "better for real work(tm)".
Here's a nice blog post that highlights the practicality issue with Scheme's design.
http://arcanesentiment.blogspot.co.uk/2015/01/if-scheme-were...
That post complains about numerical tower not belonging to some library and being more generic. I don't understand how that is more/less practical.
Common-lisp also has a numerical tower afaik. I don't understand how does that make it "better for real work(tm)".
There are languages that allow user-defined syntax and aren't only parenthesis/s-expressions, so arguing one requires the other is a false dichotomy.
[1] Ruby is a rare exception.
(do ([i 1 (+ i 1)])
((> i 100))
(display
(cond [(= 0 (modulo i 15)) "FizzBuzz"]
[(= 0 (modulo i 3)) "Fizz"]
[(= 0 (modulo i 5)) "Buzz"]
[else i]))
(newline))
I personally think this helps a lot with the problem of parsing s-expressions visually. #lang racket
(require math)
(for ([i 100])
(displayln
(cond [(divides? 15 i) "FizzBuzz"]
[(divides? 3 i) "Fizz"]
[(divides? 5 i) "Buzz"]
[else i])))Some people also find it very hard to memorize bazillion syntax rules.
Comparing understanding scheme is equivalent to "divination by tarot cards" is a bit ridiculous, don't you think?
Sure sounded like it:
"compared to bazillion new keywords that can't be used by user programs"
> Comparing understanding scheme is equivalent to "divination by tarot cards" is a bit ridiculous, don't you think?
I never said otherwise.