Commit graph

26 commits

Author SHA1 Message Date
Sami Samhuri
345aea8a09 Exposed car, cdr, cadr, etc. in lisp 2009-12-20 20:28:21 -08:00
Sami Samhuri
2919672af3 Fixed symbol evaluation to actually lookup variables. Updated README. 2009-12-20 16:56:44 -08:00
Sami Samhuri
fe67ea2e82 Started some basic functional tests. Need to choose a real test suite. 2009-12-20 15:55:12 -08:00
Sami Samhuri
bfa09931e9 Migrated from plain Spidermonkey to CommonJS (narwhal), hence to real modules as well. 2009-12-20 15:54:19 -08:00
Sami Samhuri
a50011ae04 Looked into CommonJS and will use it ASAP. 2009-12-14 09:47:55 -08:00
Sami Samhuri
fdfca00fe4 Renamed EL to elisp. Use absolute path to spidermonkey (till CommonJS conversion). 2009-12-14 09:47:29 -08:00
Sami Samhuri
f87cfe33d2 add a hide-prompt function 2009-12-14 00:10:15 -08:00
Sami Samhuri
39a5b52e15 Fixed exponent notation. Changed primitive definitions. 2009-12-13 21:06:13 -08:00
Sami Samhuri
22856cc925 Support exponent notation, trailing . for ints and other parsing details. 2009-12-09 23:17:57 -08:00
Sami Samhuri
19ac65cb2b Cleaned up README a bit, added na-cl to TODO 2009-12-09 23:17:20 -08:00
Sami Samhuri
e58c7181c8 New list of big differences from real Emacs Lisp 2009-12-09 23:16:23 -08:00
Sami Samhuri
1fe44cb255 Updated README with info about el.sh 2009-12-06 23:26:02 -08:00
Sami Samhuri
57b657b617 Broke the code into multiple files. el.sh runs a repl. 2009-12-06 23:21:20 -08:00
Sami Samhuri
b2bc59b22a Added a longer example 2009-12-06 22:29:05 -08:00
Sami Samhuri
1484ceb268 Fixed setq. 2009-12-06 22:29:05 -08:00
Sami Samhuri
ecce2ceeea removed if special form, just implemented 2009-12-06 21:03:25 -08:00
Sami Samhuri
77f1a9eb93 [NEW] if, negative numbers, regex type & literal, more...
Sorry for the massive commit. I'll try not to do this.

Several new features:

 * Proper conses and lists (probably slow, can optimize later)
 * Parse negative numbers
 * Regular expressions (piggyback off js regex, not emacs compatible)
 * string-match and symbol-name primitives
 * if special form
 * car, cdr, cadr, caddr, cadddr, nth, nthcdr, map, length, null,
   symbolp, listp, stringp, numberp, etc. only in JS now but I will
   expose them in lisp as primitives soon.

Fixed:

 * setq now silently defines undefined variables

some miscellaneous things:

 * simple init system to specify init code that loads after all defs
   have been read
 * String.camelize function stolen from Prototype
2009-12-06 20:50:46 -08:00
Sami Samhuri
3fae23b89d Getting Started section in README, minor changes to TODO and el.js 2009-12-06 03:40:43 -08:00
Sami Samhuri
8fd6e07f70 Added README and TODO 2009-12-06 03:19:02 -08:00
Sami Samhuri
df628aa959 hooked up defvar, defun, set, and setq. 2009-12-06 02:37:44 -08:00
Sami Samhuri
6fe9048c6e Fixed REPL by adding EL.Parser.parseOne() 2009-12-06 00:23:20 -08:00
Sami Samhuri
edbd48e969 Fixed up eval and apply, added symbol tables, floats, primitives. 2009-12-06 00:09:50 -08:00
Sami Samhuri
bcff6d615c Added a very simply and ugly evaluator. 2009-12-05 17:22:09 -08:00
Sami Samhuri
f273ad2b74 Removed debug prints and renamed *Sexp to *List. 2009-12-05 14:17:34 -08:00
Sami Samhuri
7d8e3cc2a3 [FIXED] pretty printing, sort of. it's pretty enough. 2009-12-05 13:31:45 -08:00
Sami Samhuri
31acf28b38 Initial commit. Just a basic Lisp parser so far. 2009-12-05 12:58:57 -08:00