Skip to content

v0.0.10

Pre-release
Pre-release
Compare
Choose a tag to compare
@borkdude borkdude released this 16 Oct 19:45

New

  • provide a macro as a binding:
user=> (sci/eval-string "(do-twice (f))" {:bindings {'do-twice ^:sci/macro (fn [x] (list 'do x x)) 'f #(println "hello")}})
hello
hello
nil
  • user defined macros:
user=> (sci/eval-string "(defmacro do-twice [x] (list 'do x x)) (do-twice (f))" {:bindings {'f #(println "hello")}})
hello
hello
nil
  • Add :deny, :allow, :realize-max and :preset options (see usage)

  • Add loop, recur, for, doseq, comment (thanks @kannangce) , require, cond, case (only syntactically), try/catch/finally, throw.

  • Java and JavaScript APIs (see README)

Changes

  • tools.reader is now a proper dependency instead of an inlined one (thanks @ikitommi)
  • migrated parser to edamame