JavaScript History. Sharp Variable for Circular Reference (via Common Lisp Reader Macro Syntax)
JavaScript Creator Brendan Eich Borrowed Common Lisp Feature of the Number Sign Reader Macro
- https://x.com/xah_lee/status/1970352538999509016
- https://x.com/BrendanEich/status/1970354198555635745
What is JavaScript Sharp Variable
- https://developer.mozilla.org.cach3.com/en-US/docs/Archive/Web/Sharp_variables_in_JavaScript
- local copy js_sharp_variable.txt
# Brendan Eich (14 years ago) Reply View Original Go to Source
On May 26, 2011, at 1:09 PM, Michael Haufe wrote:
Is there any plan to standardize Sharp Variables or something similar?
https://developer.mozilla.org/en/Sharp_variables_in_JavaScriptNo plans. I tried in 1998 or 1999, when TC39 was doing ES3. Rok Yu, then of Microsoft, argued against standardizing serialization since it was domain-specific and best done by libraries (unfortunately until WeakMaps in ES.next, implemented in Firefox nightlies, there has not been an efficient way to handle the join-points and cycles that sharps handle). Also, some hated the syntax.
The plan of record at Mozilla is recorded here:
- https://bugzilla.mozilla.org/show_bug.cgi?id=486643 (deprecate sharp variables)
- https://bugzilla.mozilla.org/show_bug.cgi?id=566700 (remove sharp variables)
The bugs must be fixed in that order, with a release in between.
The deprecation bug has an attachment,
written by Jason Orendorff, that is a self-hosted implementation of {Array,Object}.prototype.toSource. The idea is to self-host all of uneval, and provide a sharp-parsing version of eval or JSON.parse if needed. At the end of the deprecation/removal cycle, sharps would be implemented by "library code" only. No hardcoded syntax.
JavaScript misc. Brendan Eich, etc.
- JavaScript History. Sharp Variable for Circular Reference (via Common Lisp Reader Macro Syntax)
- JavaScript Brendan Eich on Fixing String Methods on Emoji (2019)
- JavaScript. Why not create a directive “use new js” to fix warts? (2019)
- Computer Science, Technical Writing. On Documentation of JavaScript Weakset
- JavaScript/DOM String Hell and Symbolic Languages
- JavaScript, Design Patterns Approach to Computer Language Tutorials (2013)
JavaScript history
- History of JavaScript, 1995 to 2025.
- The Ugly JavaScript. 2010 to 2026
- the History of JavaScript, by Brendan Eich. 2008
- HTML History Timeline. 1993 to 2011
- Netscape Browser Sucks (2002)
- JS: Version History. 1995 to 2025
- JavaScript history, prototype.js (2005 to 2010)
- JS: ECMAScript New Features. 2015 to 2026
- History of the HTML Script Tag (JavaScript) (2011)
- JavaScript History. Sharp Variable for Circular Reference (via Common Lisp Reader Macro Syntax)
- JavaScript the Good Parts, Douglas Crockford. 2008
- JavaScript The Definitive Guide by David Flanagan. 2011, 2020.
- History of Node.js by Ryan Dahl 2011 📺
- Apache vs Node.js vs NGINX 📺. (2013 humor)
- History of Angular.js (2018)
- CoffeeScript or JavaScript (2011)
- TypeScript Will Kill CoffeeScript and Dart (2012)
- Microsoft Apple Mozilla Dismiss Dart (2011)
- Stackoverflow dolts on JavaScript Compiler ES2015 to ES5. (Babel.js) (2014)
- JavaScript Brendan Eich on Fixing String Methods on Emoji (2019)
- JavaScript. Why not create a directive “use new js” to fix warts? (2019)
- JS: CommonJS Module System. 2009 to 2026
- JS: AMD Module System and history (2009 to 2016)
- npm Disease (2021)