3 ms·
What is a Scheme and what is not a Scheme is actually pretty well defined in terms of language concepts and features. The JavaScript of back then is not that. S
by zelphirkalt 3y ago
What is a Scheme and what is not a Scheme is actually pretty well defined in terms of language concepts and features. The JavaScript of back then is not that. Some Scheme may have served as something that Eich took hints from, but he did not create a new Scheme.
- bitslayer 3y agoTook hints from, ergo "an ad hoc, informally-specified, bug-ridden, slow implementation"
- frognumber 3y agoFYI: At the time, the creator of Scheme, Jerry Sussman, believed the JavaScript was a Scheme. I don't say this to claim he was right (I didn't agree with him, at the time), but merely to point out that "what is not a Scheme is actually" NOT "pretty well defined in terms of language concepts and features." A proper Scheme is as defined in Revised Report on the Algorithmic Language Scheme, but there are many improper half-baked Schemes too. Reasonable people can and do disagree about which things do and don't qualify.
- aidenn0 3y agoI think there is nothing more vacuous than taxonomy arguments (though they can be fun). Kent Pitman (KMP), for example, is on record as saying that Scheme is not a Lisp[1] 1: https://groups.google.com/g/comp.lang.lisp/c/Bj8Hx6mZEYI/m/6AWmNEwQR5YJ https://groups.google.com/g/comp.lang.lisp/c/Bj8Hx6mZEYI/m/6... (besides the inevitable flamewar started by @lisper's question, there's actually some good discussion between the "adults in the room" well downthread of what I linked).
- dahart 3y agoThe story goes Eich was hired to embed Scheme in a browser, and hung on to lambdas and functional concepts but lost homoiconicity by management fiat; they didn’t like the weird way it looked. He tried to intentionally a Scheme and ended up accidentally a Scheme step-cousin. It’s fair to say some argue it is a Scheme dialect, because some people do, and they’re not wrong, JS does share aspects. It’s also fair to say JS is not a Scheme, also true. I googled and found someone’s blog post with a fun description: “JS is stupid Lisp in Java’s ill-fitting clothing. It’s Alonzo Church going to a Halloween party as Alan Turing. It’s the lambda calculus in Turing-machine drag. It’s a quirky nerd with a cynical marketing department. (The syntax and the name of the language — JavaScript—were determined by Netscape’s desire to ride the coattails of Java’s popularity in the early 1990s.) It’s multiparadigm salad.” https://medium.com/thinking-with-computers/javascript-is-not-scheme-7a84889e9b3c https://medium.com/thinking-with-computers/javascript-is-not...
- Jtsummers 3y agohttps://dl.acm.org/doi/pdf/10.1145/3386327 https://dl.acm.org/doi/pdf/10.1145/3386327 For the story from Allen Wirfs-Brock and Brendan Eich. Section 2.1, starting on page 7, talks about the portion of JS history where Eich was hired to build a Scheme in a browser and continues with why it changed and how.