The Narcissus meta-circular JavaScript interpreter
JavaScript Python Shell
Failed to load latest commit information.
lib eliminate unnecessary try-finally per Shu's request Feb 14, 2012
spidermonkey fall back to eval if evalWithLocation is not present Jan 28, 2012
LICENSE added tri-license notice Oct 8, 2010 more contributor acknowledgments Feb 10, 2011
jstests r=pcwalton; shell script to run SpiderMonkey test suite; also a new -… Dec 9, 2010
main.js NPM/CommonJS shims Feb 10, 2011
njs restructured to be 100% CommonJS, w/ CommonJS shim for SpiderMonkey i… Jan 26, 2012


Narcissus is a JavaScript interpreter written in pure JavaScript (i.e., a meta-circular evaluator), using the SpiderMonkey engine.

Originally a proof-of-concept by Brendan Eich, Narcissus is being revived as a test-bed for rapidly prototyping new language features for the JavaScript language (as well as the ECMAScript standard).


Documentation can be found on the Narcissus wiki.


  • Tom Austin
  • Brendan Eich
  • Andreas Gal
  • Shu-yu Guo
  • Dave Herman
  • Bruno Jouhier
  • Gregor Richards
  • Dimitris Vardoulakis
  • Patrick Walton