oia
v1.0.13
Published
yet another lisp for js
Downloads
29
Maintainers
Readme
pronounced 'eeya'
oia(do
(def xf
(compose
(drop 20)
(map (fn [x] (mul x 3)))
(filter (fn [x] (eq 0 (mod x 2))))
(take 10)))
(prn (seq (range 500) xf)))
//> [ 60, 66, 72, 78, 84, 90, 96, 102, 108, 114 ]
usage
npm install oia -g
oia script.js | node
why?
- js interop
- immutable + transducers + channels
- ui components
- tooling
kinda works
- working repl
- test suite
- user guide
- lisp-ish
- forked from ki
- js interop / macros (via sweet.js)
- immutable sequences, lists, maps, sets, cursors (via immutable & immstruct)
- lexical scoping
- loop /recur
- destructuring
- :keywords
- transducers (via transducers.js)
- exception handling
- chaining
- multimethods
- generators / channels (example)
in progress
- tooling: bin / source maps / browserify / repl
- macros
future
- react macros
- pattern matching