Sha256: cad7aeb8081039e5cfdd3bf0d83a5642d22a1ea4b7baeca94321b79c77a57831
Contents?: true
Size: 1.3 KB
Versions: 2
Compression:
Stored size: 1.3 KB
Contents
NEXT: - (ruby/)Time/now ==> Time.now - continue decruft Context, shift tests to Compiler as appropriate; revise most specs. - extend DESTRUCTURE from LET to FN, etc. - refactor DEFN, DEFMACRO, LET, BINDING(?) to make use of above - may be faster for general wrapper classes to use Struct? 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 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 - multi-form defn: (defn x ([a] ...) ([a b] ...)) - 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) vim: set cc=80:
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
rouge-lang-0.0.3 | misc/TODO |
rouge-lang-0.0.2 | misc/TODO |