Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I have an intuition that the comment you're responding to has a lot of truth to it, but I am going to have to educate myself to give you an answer.

One thing I do know is that JS and Lisp both treat functions as first-class citizens, allow some degree of meta-programming, and rely heavily on hierarchical (e.g., nested objects in JavaScript vs. s-expressions in Lisp).

Passing functions by reference enables both LISP and JS to compose higher-order functions and, as suggested in another commented, both Lisp and JavaScript's "dynamic stack frames" somehow live updates to running code without requiring a complete restart of the application. The only clear example of this I can find, however, is Bun's --hot mode, which performs a "soft reload," updating its internal module cache and re-evaluates the changed code while preserving global state.

I have some vague notion that this is a favorite feature of Lisp, but it's not clear to me that it's unique to these language families.

---

Edit: Lexical scoping, closures, some tail-call optimization...

---

Edit 2:

> Programming language “paradigms” are a moribund and tedious legacy of a bygone age. (Dave Herman)[0]

---

Edit 3:

> The venerable master Qc Na was walking with his student, Anton. Hoping to prompt the master into a discussion, Anton said "Master, I have heard that objects are a very good thing - is this true?" Qc Na looked pityingly at his student and replied, "Foolish pupil - objects are merely a poor man's closures."

> Chastised, Anton took his leave from his master and returned to his cell, intent on studying closures. He carefully read the entire "Lambda: The Ultimate..." series of papers and its cousins, and implemented a small Scheme interpreter with a closure-based object system. He learned much, and looked forward to informing his master of his progress.

> On his next walk with Qc Na, Anton attempted to impress his master by saying "Master, I have diligently studied the matter, and now understand that objects are truly a poor man's closures." Qc Na responded by hitting Anton with his stick, saying "When will you learn? Closures are a poor man's object." At that moment, Anton became enlightened.

-- Anton van Straaten 6/4/2003 [1]

0. https://cs.brown.edu/~sk/Publications/Papers/Published/sk-te...

1. https://people.csail.mit.edu/gregs/ll1-discuss-archive-html/...



LISP is an assembly language with a interpreter stashed inside of it.

Dynamic dispatch and the Object System are bolted onto the side and are still unparalleled by any language that I'm aware of.




Consider applying for YC's Fall 2026 batch! Applications are open till July 27.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: