4 ms·
The C2 wiki presents (as usually) a very uneducated view about Lisp. I am not going to rip apart the details but whenever you read something about Lisp on the C
by mrottenkolber 12y ago
The C2 wiki presents (as usually) a very uneducated view about Lisp. I am not going to rip apart the details but whenever you read something about Lisp on the C2 wiki please keep in mind that Lisp is not their usual cup of coffee really.
So if you see something like "Lisp macros could be easily replaced with a magic Ruby block lotion and are just lambdas + syntax", just because nobody on C2 argues with it doesn't mean its not completely ignorant and wrong.
- lmm 12y ago"These guys are ignorant and wrong, but I'm not going to go into details." And Lisp folk wonder why they're perceived as arrogant.
- mrottenkolber 12y agoSorry but I have a day job and can't be asked to set right every piece of wrong information. Just be happy that somebody warned you. Edit: "Arrrrrr, nasty Lisp-folk, if they weren't just programmers who know Lisp, arrrr."
- lmm 12y ago"This is wrong and I won't tell you why" is not very valuable; opinions are ten-a-penny on the internet.
- cbd1984 12y agoThen why did you post the original comment? Besides, your comment's wrong, and people should know that. No, don't expect me to say way.
- cbd1984 12y agoFlagged for insult.
- cbd1984 12y agoSo, is no one going to say that this person's comment is laughably wrong?
- _yosefk 12y agoWhile you can't replace all macros with blocks, I think there's an interesting argument in there about doing some things done with macros using blocks, and that it has the advantage that a function accepting a block can be passed around in ways a macro can't be.
- mrottenkolber 12y agoIf we talk about blocks, do we mean something different than a LAMBDA, e.g. a closure?
- ScottBurson 12y agoNo. Smalltalk called these blocks, and Ruby does too. BTW a lambda expression and a closure are not the same thing. A lambda expression evaluates to a closure, just as an expression like "(make-instance 'foo)" (or "new Foo()" for non-Lispers) evaluates to an instance. The former, in each case, is a syntactic entity, something you can write in your program; the latter is an object inside the machine.
- mrottenkolber 12y agoA: Presenting macros! B: Look what you can do with not-macros. A: Great. ;)
- cbd1984 12y agoNonsensical.
- cbd1984 12y agoFlagged for insult.