Skip to content
Find file
Fetching contributors…
Cannot retrieve contributors at this time
48 lines (43 sloc) 1.42 KB
NEXT:
- tests for (. x y)
- (ruby/)Time/now ==> Time.now
- continue decruft Context, shift tests to Compiler as appropriate; revise most
specs.
- destructuring (in FN, LET, everywhere else)
- refactor DEFN, DEFMACRO, LET, BINDING(?) to make use of above
- may be faster for general wrapper classes to inherit Struct? seems to be a
bit magic wrt. speed.
miscellaeny
-----------
- MACROEXPAND
- SPEED test. run core specs a few times and time.
- everything in ::Rouge should be accessible via rouge.builtin
- organise boot.rg
- test the whole core
- omit Ruby from tracebacks?
- better exceptions/errors
- readline autocomplete
- package as a gem?
ruby interop
------------
- accessing the scope/self (DSLs!)
- proc or lambda? setting ARITY.
- DEFN/DEFMACRO/etc. should create strict lambdas, but FN/#() should not.
Emulate by accepting |*a| and selecting ourselves how strict we want to be.
"hard" tasks
------------
- have a core "apply" function which can be used by eval, defmacro, etc.
core lang
---------
- NON-dynamic/special vars
- INTERN
- FOR
- (def a/b) should not create #'user/a/b, lol.
- multi-form defn: (defn x ([a] ...) ([a b] ...))
- seqs
- atoms (actually multithreaded), refs, agents
- rest of the clojure core API (maybe even in clojure.core ns)
- clojure-ish IO libraries which expose async IO
- defprotocol -- looks important! ISeq, ISeqable, ISequential and what have
you.
- metadata on all collections (not just symbols)
Jump to Line
Something went wrong with that request. Please try again.