mirror of
https://github.com/samsonjs/elisp.js.git
synced 2026-04-14 12:35:48 +00:00
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
24 lines
535 B
Text
24 lines
535 B
Text
TODO
|
|
====
|
|
|
|
* implement all Emacs Lisp types/objects
|
|
|
|
* relational operators: < > <= >= = not
|
|
|
|
* special forms: lambda, if, cond, and, or, let, let*, letf, letf*
|
|
|
|
* successfully interpret ~/config/emacs one sexp at a time
|
|
|
|
* primitives: list/cons functions, string functions,
|
|
apply, eval,
|
|
require, provide
|
|
|
|
* macros
|
|
|
|
* dynamic scoping (replace the current symbol table entirely)
|
|
|
|
* look into CommonJS
|
|
|
|
* merge with Ymacs? (probably not going to happen, would have to
|
|
steal what we can from them)
|
|
|