4 ms·
SmugLispWeenies is why we hate Lisp. People who, when writing Lisp tutorials, spend a condescendingly large time telling the reader that they are going to have
by Marazan 11y ago
SmugLispWeenies is why we hate Lisp. People who, when writing Lisp tutorials, spend a condescendingly large time telling the reader that they are going to have their mind blown by the concept of first class functions. In the space year 2015 people are still doing this.
Also they have apparently never heard of Forth either.
- DonHopkins 11y agoOr PostScript, which combines the best of Lisp and Forth.
- ICWiener 11y agoI can build strawmen too: - SmugCeeWeenie: I am so fast, look (oops, core dumped) - SmugGoWeenie: abstractions are so nasty we should get rid of functions, so that everyhting is laid out clearly. Hopefully, I have copy/paste. - SmugAdaWeenie: Functions are not procedures and records cannot store objects. Real engineers do not "prototype" code. - SmugHaskellWeenie: Yeah, it compiles! Job done. > In the space year 2015 people are still doing this. About first class functions? citation needed.
- bbcbasic 11y ago- SmugHaskellWeenie: cabal sandbox init, cabal install this, cabal install that, write code, add ghc pragma, wtf! add ghc pragma, wtf! add ghc pragma ... Yeah, it compiles! Job done. Almost, time to get rid of the warnings. add ghc pragma, and another, and one from the top Carol and ... yeah, it compiles with no warnings.
- AKrumbach 11y agoYes, you still find articles praising first class functions in "space year 2015" because those websites were written from an Earth year 1997 perspective. Yes, maybe with Java, Python, and Ruby all having first class, anonymous functions -- making that feature well-known -- it is less mind blowing. That doesn't mean that Lisp (by which I mostly mean Common Lisp) doesn't still have potentially "mind blowing" things to teach. Consider error handling. I would say that coming from any language where this is limited to the "try...catch" paradigm, seeing the separation and possibility provided by restarts is absolutely a mind blowing experience. (The stack doesn't unwind during the error handler search? Huh?) Another "enlightenment" moment can come with understanding the way Lisp uses macros. No, I don't mean understanding writing macros, I mean looking at the language itself and seeing standard language features like "loop" or even CLOS being implemented using just macros. The idea of extending your language with entirely new abstractions, using just a few lines of code rather than some compiler update, should be mind-blowing. (Just the idea that "I have access to the full range of tools the language implementer used" can enlighten how to approach certain problems!) Yes, exposure to Forth can also do all of this... but personally, I mentally filed Lisp and Forth together from the start. They both seem to be approaching the same peak "optimum" in code expressiveness (brevity / power), but from opposite sides of the mountain.