Live data from Hacker News

Ask HN: What Is the Lisp “Enlightment”?

news.ycombinator.com

11–20 of 45 posts

Re: Ask HN: What Is the Lisp “Enlightment”?

#11
post #5

That code is just data. In lispalikes, code has the same "shape" as any other data. The compiler / language environment and the runtime environment are "blended" in a much more natural way than is usual.

I'll make the argument that this is a property of JavaScript too

JSON being a native part of the language makes it inexpressibly easier to work with than in languages where you've got to define serialization and logic

In JS, you can toss around objects which can have functions or primitive values as properties in much the same way you can work with IE maps in Clojure

Re: Ask HN: What Is the Lisp “Enlightment”?

#13
At the end of the 70's I bought a HP67 pocket calculator and discovered that adding 1 and 2 was done using the strange reverse Polish notation, "1 2 +". Much later I came across LISP and discovered prefixed parenthesized expressions, {+ 1 2}, i.e. the normal polish notation in parentheses. Then I discovered that an HTML expression like "Hello World", requiring that closing brackets be written in the reverse order, would be better written in a LISP style, {b {i {u Hello World}}}, without boring anymore with the order of closing brackets. Finally I found that if writing {u 1 2 3 4 5 6} displayed "1 2 3 4 5 6" in underline style, writing {* 1 2 3 4 5 6} displayed the product, "720", and writing {u {* 1 2 3 4 5 6}} displayed "720" in underline style.

Mixing pure text and code became obvious. This made me want to write a text editor with a programming language and its current state is in this wiki - http://lambdaway.free.fr/lambdawalks

For me - I'm just an "amateur", it was that the Lisp "Enlightment", just to give me a way to implement from scratch a small engine to go down to the foundations of code, discover the lambda-calculus, and have a chance to understand and enjoy coding.

Re: Ask HN: What Is the Lisp “Enlightment”?

#14
post #4

For me, it was the realization that with LISP, you don't really build much of anything because you're caught in the blinding light of beauty, and the perfect program is the one that never gets written.

The program that can be written is not the eternal program. The script which can be run is not the eternal script.

( )

Re: Ask HN: What Is the Lisp “Enlightment”?

#15
post #5

That code is just data. In lispalikes, code has the same "shape" as any other data. The compiler / language environment and the runtime environment are "blended" in a much more natural way than is usual.

I'll make the argument that this is a property of JavaScript too JSON being a native part of the language makes it inexpressibly easier to work with than in languages where you've got to define serialization and logic In JS, you can toss around objects which can have functions or primitive values as properties in much the same way you can work with IE maps in Clojure

You can't eval a json AST and have it execute. As of WebExtensionsV3, you can't eval anything at all.

AIUI (not a lisper; just dabbled in a past life) in Lisp, the closest practice is idiomatic.

Re: Ask HN: What Is the Lisp “Enlightment”?

#16
post #5

That code is just data. In lispalikes, code has the same "shape" as any other data. The compiler / language environment and the runtime environment are "blended" in a much more natural way than is usual.

I'll make the argument that this is a property of JavaScript too JSON being a native part of the language makes it inexpressibly easier to work with than in languages where you've got to define serialization and logic In JS, you can toss around objects which can have functions or primitive values as properties in much the same way you can work with IE maps in Clojure

[deleted]

Re: Ask HN: What Is the Lisp “Enlightment”?

#18

Lisp is 64 years old. In some ways its reputation is oversold. A lot of features (GC, varargs, lexical scope, closures, higher-order functions, dynamic method dispatch, reflection) first gained prominence in Lisp, despite being extravagantly expensive. Some optimizations were found, computers became vastly more powerful, and now those innovations are merely table stakes for any modern language. IMHO the biggest excep…

For me the most “woa” thing about LISP and its macros is that code is data, and data is code. The representation of a (nested) list is exactly the same as actual code, and using macros, I can manipulate it as such.

That is pretty profound, and I still have yet to find a language that just makes it so simple and elegant as with LISP.

Re: Ask HN: What Is the Lisp “Enlightment”?

#19

Lisp is 64 years old. In some ways its reputation is oversold. A lot of features (GC, varargs, lexical scope, closures, higher-order functions, dynamic method dispatch, reflection) first gained prominence in Lisp, despite being extravagantly expensive. Some optimizations were found, computers became vastly more powerful, and now those innovations are merely table stakes for any modern language. IMHO the biggest excep…

For me the most “woa” thing about LISP and its macros is that code is data, and data is code. The representation of a (nested) list is exactly the same as actual code, and using macros, I can manipulate it as such. That is pretty profound, and I still have yet to find a language that just makes it so simple and elegant as with LISP.

Interactive, live development in Common Lisp is also basically unknown outside of maybe smalltalk. Stuff like "hot reload" in Javascript development is not at all comparable.
Post reply on HN