Re:How to write Common Lisp in 2017 – an initiation manual
by yarrel on Tuesday March 28, 2017 @03:22PM
(#13979777)
In addition to the other problems described, Clojure just breaks the value of Lisp's syntax. Common Lisp does have its irregularities but code littered with Java imports and square brackets might as well just use C formatting and be done with it.
[ Parent
| on HN ]
Re:How to write Common Lisp in 2017 – an initiation manual
by Zak on Tuesday March 28, 2017 @04:45PM
(#13980509)
The primary value, to me of Lisp syntax is that code is represented as data structure literals which can be manipulated as easily as any other data structure prior to execution. Clojure has that; it just comes with literals for a few more data structures and uses two of them, vectors and maps in the syntax of built-in forms.
Re:How to write Common Lisp in 2017 – an initiation manual
by lispm on Wednesday March 29, 2017 @01:28AM
(#13983686)
Why would arguments in Lisp (= "list processor") form a vector?
Is it so that the syntax of vectors can be used? Then it has technical consequences.
Is it because of technical issues (arguments are vectors internally) and thus it can be exposed in the syntax, too?
Or both?
Re:How to write Common Lisp in 2017 – an initiation manual
by Zak on Wednesday March 29, 2017 @08:14AM
(#13985271)
I think the motivation for making the sequence of arguments in function/macro definitions vectors instead of lists was primarily syntactic - to make them look different from the body. They're definitely vectors internally though.
Re:How to write Common Lisp in 2017 – an initiation manual
by int_19h on Tuesday March 28, 2017 @11:00PM
(#13982989)
How do square brackets break the syntax? Aren't they just syntactic sugar for (vector ...), exactly the same as ' is syntactic sugar for (quote ...)?
And imports, obviously, are just special forms. It's not like Lisp doesn't have others. It's still an S-expression, so why is it problematic?