from Hacker News

The Evolution of Lisp (1993) [pdf]

by swatson741 on 5/26/24, 5:48 PM with 130 comments

  • by lispm on 5/26/24, 6:50 PM

  • by dang on 5/26/24, 6:16 PM

    Related:

    The Evolution of Lisp (1993) [pdf] - https://news.ycombinator.com/item?id=14937424 - Aug 2017 (17 comments)

    The Evolution of Lisp - https://news.ycombinator.com/item?id=3528694 - Jan 2012 (4 comments and a video re-enactment from 2008: https://www.infoq.com/presentations/Lisp-Guy-Steele-Richard-...)

    The Evolution of Lisp [pdf] - https://news.ycombinator.com/item?id=2082417 - Jan 2011 (1 comment)

  • by kazinator on 5/26/24, 10:47 PM

    Please link to uncut version on Gabriel's own site.

    See https://news.ycombinator.com/item?id=40484444

  • by ggm on 5/27/24, 3:12 AM

    The abiding value of Lisp may be that it's a talking point, in the idea of what a programming language is.

    Forth has a similar quality. The reductionist sweetspot of "implemented as a stack language" and "one step up from machine code"

    C is the "no guide rails" conversation. Some would say it's one step down from assembly because it has none of the rigour and only some of the speed. That lack of rigour, the ability to cast within a memory region if you know how your structure maps into that region, I find extremely useful. Pascal's version of it was more clumsy but that said, perhaps the semicolon (and full stop) alone make Pascal part of the C family.

    (you can't directly compute over a value in both float and int in assembler if you are in the ALU/FPU register space. You do "cheats" which are not rigorous, but more rigorous than C)

  • by martyalain on 5/29/24, 1:22 PM

    I discovered LISP late in life. For a long time, I didn't understand it at all, and reading that LISP was the most natural, the clearest and the most beautiful of all languages didn't help. Until I discovered that LISP was a dialect of lambda-calculus. For a long time, I didn't understand it at all, so hermetic was this formal language dating back to the 30s, and apparently reserved for an academic elite. But then I realized that it was nothing more than a sophisticated text replacement tool. So, using a single regular expression and a few lines of javascript code, I wrote an s-expression evaluation/reduction engine. Then I added 9 special forms -- lambda, def, if, let, quote, macro, style, script, require -- to end up with a real language, lambdatalk, capable of taking advantage of the web's tremendous potential. The result can be seen here: http://lambdaway.fr . I explored many algorithms, and even if this exploration remained solitary, I learned a lot. This is my LISP experience and I don't regret it. Thank you LISP.
  • by 7373737373 on 5/26/24, 8:34 PM

    Is there any old or new Lisp variant with excellent, beginner friendly (or even loving) documentation?
  • by theodpHN on 5/26/24, 8:11 PM

    Got a link to fairly simple examples comparing Lisp solutions to those in another more 'mainstream' language (e.g., C, Python, BASIC, Java) that illustrate the benefits of using Lisp over another language for a 'practical' application? Thanks!
  • by timonoko on 5/27/24, 9:56 PM

    Never seen Lisp-in-Lisp without additional (and boring) yapping. Just CAR, CDR and CONS. And assign and type-test and COND. It would probably be about 300 lines.

    "Most beautiful program ever" is short but the associated yapping takes almost 2 hours. https://www.youtube.com/watch?v=OyfBQmvr2Hc

  • by throw156754228 on 5/27/24, 5:48 AM

    What's a good resource for learning to write a lisp compiler?
  • by gjvc on 5/26/24, 9:59 PM

    anyone got the .tex source for this?
  • by behnamoh on 5/26/24, 6:25 PM

    People should clarify what they mean by "Lisp". It's not a programming language or even a family of languages, it's a whole different computing system which just happens to have a programming language syntax on top. To get the most out of it and benefit from the powerful CL REPL, one needs to use Emacs (also written in Lisp).

    Some variants just drop that part and focus on the language only. Clojure and Racket are in that category. They lack the full power of CL; so they're just Lisp-syntax languages, not an actual Lisp.

    Maybe this high barrier to entry is why Lisp hasn't caught on even after 30 years of CL standardization. People often don't want to learn a new IDE to get the most out of Lisp. And if they stick to their current IDEs, they only get a glimpse of Lisp through its syntax (and much limited macro system). At that point, it's questionable whether whatever remains of Lisp does indeed provide any advantage over more mainstream languages (e.g., instead of learning Clojure, why not just learn a functional language like Elixir or Haskell? It's not like Clojure gives you the full Lisp power anyway.)

    Addendum: As one of the comments below mentioned (thank you @lispm), what I meant by "dropping the full power of Lisp" is the ability to modify a running program (continuation/restart system). Does Clojure REPL drop you in a new REPL in case of errors so you can literally change the running code or enter value for a missing variable?

  • by aj7 on 5/26/24, 7:11 PM

    Paul Graham felt all development should be in Lisp. Problem is readability by maintainers in the future. To facilitate that, the number of characters in the comments would have to exceed that in the code.
  • by aj7 on 5/26/24, 7:04 PM

    Lisp is far and away the best of the nonreadable programming languages.