Permalink
Commits on Jul 11, 2010
  1. [ version bump ]

    committed Jul 11, 2010
  2. [ Fully self-compiling ]

    This is the version of sibilant.js compiled by itself.
    
    NODE_PATH=~/code/sibilant/lib:$NODE_PATH sibilant sibilant.lisp > tmpfile; cp tmpfile lib/sibilant.js
    
    Doing this again yields no difference to the file.
    committed Jul 11, 2010
  3. [ Finish rewriting sibilant in sibilant ]

    Also, add some more macros to make that possible.  Sibilant.js was generated by parsing sibilant.lisp with sibilant.old.js, but at this point should be able to parse itself.
    committed Jul 11, 2010
  4. [ Move sibilant.js aside ]

    Sibilant.js is dead, long live sibilant.js!
    committed Jul 11, 2010
Commits on Jul 10, 2010
  1. [ Start rewriting sibilant in sibilant ]

    Line for line copy of sibilant.js
    committed Jul 10, 2010
  2. [ Define all functions as vars ]

    This allows them to be scoped properly.
    
    If you really want a global function, setf a lambda
    
    (setf *global-fn* lambda (args)
    	(do-stuff)
    	(more-stuff))
    committed Jul 10, 2010
  3. [ fix dolist ]

    the for-each token needed to be escaped.
    committed Jul 10, 2010
  4. [ add zero? predicate macro ]

    committed Jul 10, 2010
  5. [ don't add return statements to progn or throw ]

    This should be handled better, since other macros might want to add themselves to this list.
    committed Jul 10, 2010
  6. [ Allow predicate question marks ]

    Like in ruby, question marks are allowed at the end of literals.  They become capital Qs, which is otherwise impossible to create.  first? becomes firstQ in javascript.  I'm not sure if this should be firstP for predicate, but Q seems more immediately understandable.
    committed Jul 10, 2010
  7. [ add new throw, bool, chain ]

    + throw: (throw 'a 'b 'c) ;=> throw new Error("a b c")
    + bool: (bool 1) ;=> (!!(1))
    + chain:
      (chain object
    	(method arg)
    	(method-two)
    	(last a b c))
    
     	becomes
    
    object // chain
      .method(arg)
      .methodTwo()
      .last(a,b,c)
    committed Jul 10, 2010
  8. [ add first through ninth and rest ]

    committed Jul 10, 2010
  9. [ Fix up infix operators ]

    committed Jul 10, 2010
  10. [ move + - * and / macros to macros.lisp ]

    + parens macro
    + brackets macro
    ~ when macro has a return value
    ~ assorted other macro cleanup
    committed Jul 10, 2010
  11. [ regexps cannot span lines ]

    committed Jul 10, 2010
  12. [ Add regular expressions ]

    The regex \/(\\\/|[^\/])+\/[glim]* matches all valid regular expressions, including ones that have escaped slashes and that end with any combination of the modifiers (g, l, i, or m).  Regexes are passed through to javascript as literals.
    committed Jul 10, 2010
  13. [ macros work ]

    + get (get x y) ;=> (x)[y]
    + set (set x y z) ;=> (x)[y] = z
    + infix
    + <=
    + >=
    + (list 'a 'b 'c) ;=> '(a b c)
    + apply (apply puts '(a b c)) ;=> puts.apply(undefined, ["a", "b", "c"])
    + macro-list (macro-list) ;=> a js array of all macros
    ~ move macroexpand from js to lisp
    committed Jul 10, 2010
  14. [ separate node-specific calls ]

    this is in preparation for shared code between browser & node versions
    committed Jul 10, 2010
  15. [ Name exports in functional.js ]

    committed Jul 10, 2010
Commits on Jul 9, 2010
  1. [ fix ML address ]

    committed Jul 9, 2010
  2. document ML

    committed Jul 9, 2010
Commits on Jul 6, 2010
  1. [ link to macros.lisp ]

    committed Jul 6, 2010
  2. [ include example.stdout ]

    committed Jul 6, 2010
  3. [ document the * var ]

    committed Jul 6, 2010
  4. [ update incorrect github url ]

    committed Jul 6, 2010
  5. [ document repl ]

    committed Jul 6, 2010
  6. [ bump version for repl ]

    committed Jul 6, 2010
  7. [ sibilant repl ]

    committed Jul 6, 2010
Commits on Jul 5, 2010
  1. [ docs: fix examples link ]

    committed Jul 5, 2010
  2. [ more example and documentation ]

    committed Jul 5, 2010