Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Commits on May 12, 2012
  1. use // to refer to toplevel, / for current module

    authored
    * replaces _ Foo with //Foo (both meaning ::Foo in Ruby)
    * /foo() will always be a private send to Self
    * can be used in definitions via /foo() := ... and //foo() := ...
      * define on Self and Kernel respectively
    * pattern-matching semantics also implemented
Commits on May 7, 2012
Commits on Apr 20, 2012
  1. no more CodeLoader global state

    authored
    * modules are passed around during compilation
      - Node#bytecode(g) -> Node#bytecode(g, mod)
      - foo.compile(g) -> mod.compile(g, foo)
      - Pattern#matches?, target, deconstruct, match, etc. take module param
    * Patterns are context-aware, like Nodes
      - this isn't fully fleshed-out yet; just needed for Pattern#=== and
      	Pattern#definition_target. Can come in useful later.
    * let-macro is much cleaner now
    * probably some thread-safety concerns that this removes
    * Add Module#eval
    * some minor spring-cleaning along the way
Commits on Apr 16, 2012
Commits on Jan 4, 2012
  1. use is-in operator

    authored
Commits on Dec 30, 2011
Commits on Dec 28, 2011
Commits on Dec 24, 2011
Commits on Dec 21, 2011
  1. fully inflexible identifiers

    authored
    * refactor Define nodes
    * refactor macro definition; don't use #evaluate for it at runtime
    * switch over to foo(bar)? form
Commits on Dec 13, 2011
Something went wrong with that request. Please try again.