1. 59
  1. 3

    This is so cool. Although not having a GC is kind of cheating!

    As a LISP dummy, I didn’t understand this bit:

    Here it becomes clear that, in its most bare essential form, beneath the macros and abstractions, LISP actually has an unpleasant nature where name bindings (or assignments) look like a venus fly trap.

    My guess is it means that once a symbol is bound it can’t be unbound (or re-bound?)

    This is probably the best evidence that LISP is a natural discovery rather than something someone designed, since no one would choose to design something unpleasant.

    This may be sarcasm? I’ll have to try it as an excuse something I design has problems — “I didn’t design it so much as discover it, so it’s not my fault.”

    1. 10

      My guess is it means that once a symbol is bound it can’t be unbound (or re-bound?)

      Names are still scoped and they go out of scope, since each recursion of the evaluator has its own pointer to a. The commentary on bindings is purely a question of notation aesthetics. Not having GC only means that physical memory isn’t reclaimed, so the interpreter’s lifespan can be limited based on whatever arbitrary memory limit the system may have, sort of like how a Turing machine is universal if you imagine it as having unlimited tape.

      I’ll have to try it as an excuse something I design has problems — “I didn’t design it so much as discover it, so it’s not my fault.”

      Natural discovery is a huge compliment, intended to put JMC on a pedestal with guys like Newton who also discovered profound concepts. I thought it was tragic reading the history of LISP how much guilt JMC had about the struggle and political pressure to dress it up like FORTRAN. Everyone understands and accepts that there’s certain unpleasant things about nature. It’s why, for example, we live in homes rather than sleeping in the woods without shelter. The thing we’ve always prided ourselves on the most, as humans, which is also the thing that makes us human, is our ability to understand nature, thereby giving us the means rise above it. Just like how every language that evolved out of LISP has defined its own macros and abstractions to make it better.

      1. 2

        “The thing we’ve always prided ourselves on the most, as humans, which is also the thing that makes us human, is our ability to understand nature, thereby giving us the means rise above it.”

        This is really an absurdly modern and culture bound idea. Even the ideas which it depends on aren’t more than 500 years old.

        1. 2

          Veering way off topic, but while I agree this POV is not universal, I’d say it goes back at least 2500 years or so, viz the Genesis account of God giving humans dominion over nature.

          And the human behavior of figuring out and altering nature goes back much further, to epic hacks like stone tools, fire and agriculture.

        2. 1

          it was tragic reading the history of LISP how much guilt JMC had

          Can you share pointers to the history you read? I’d like to add that to my pile of (too-)many computer history books.

        3. 5

          Here it becomes clear that, in its most bare essential form, beneath the macros and abstractions, LISP actually has an unpleasant nature where name bindings (or assignments) look like a venus fly trap.

          I think this has to do specifically with the method of using associative lists as the environment, (where definitions are stored) the best explanation of which I’ve come across being found in the book The Little Schemer.

          This is in some sense “essential” in that it’s the most primitive way to do it, and is in line with how it has been done historically. But it is not at all “essential” in the sense that it has anything to do with “the essence of lisp” or that lisps which choose to represent the environment in a more performant way are “not a real lisp”. Honestly I don’t think “essential” is a good word to describe it and that “fundamental” or “primitive” is much clearer.

          1. 4

            Author here. I’ve reworded things slightly and I think it comes across much better. Please take a look?

            1. 2

              I reloaded the page but this section still reads the same, with the same reference to Venus’ Fly-Trap. Could you explain that metaphor? It’s a plant that snaps shut on insects … how does that relate to name binding or associative lists?

              1. 1

                I’m sorry you didn’t like the article! I hope you found my response to your earlier feedback helpful.

                1. 2

                  I liked the article quite a bit! Even forwarded it to my kid. Just wasn’t clear on that one simile :)