Switch branches/tags
Nothing to show
Find file
Fetching contributors…
Cannot retrieve contributors at this time
58 lines (57 sloc) 3.54 KB


Bootstrap in :=.

Allow | as a binary selector character when not used for headers.

Implement “&foo” in message sends as “&foo: True”.

Core use of ::= binding.

Implement creation of local variables for assignments.

Implement generalized word-quoting. foo{any text…}

Implement bytes{1 2 3 4} to create literal ByteArrays.

Implement words{foo bar baz} to tokenize a list of words.

Implement p{/usr/lib/foo} to create literal Path objects.

Implement q{} to create ##() literal/read-time arrays.

Implement glob{foo?.*.c} to create Glob objects.

Implement r{[a-z](.*)[ ]} to create regular expression matchers.

Implement math{3 + 4 * 5} to apply the precedence library’s `math to it.

Implement comment{} or why{} or doc{} for comments and reclaim double-quotes.

Dictionary cleanups.

Extract ExtensibleMapping protocol.

Separate Dictionary from Set, inheriting from ExtensibleMapping.

Implement OrderedDictionary.

Eliminate overrideThis in favor of traits-style method requirements.

Implement method definition as “signature := body”.

Requires method header rewrite at macro-expansion time.

STARTED Implement “%” as a binary selector lexeme unless used as Eventually prefix.

Implement mutator selector pattern of “foo:=” and sunset “foo:”.

Externalize `setTo: rules into data structures.

STARTED Implement Ruby === for includes:/select:/case-statement usage.

With different assymetrical selector, e.g. isCaseOf:. Root -> \=. Collection -> includes:, Block -> applyWith:. Regex -> matches:.

Implement \=:= as pattern-matching binding.

Requires generation of ::= statements. Requires destructuring of Patterns/Partials

Implement initial setting of a local to a literal as a static initialization.

Requires some VM support to instantiate the context with the values.

Implement | as a special binary macro for chaining expressions and shell pipelines.

Change block header syntax to [|( … ) body ].

Swap {} with []


Finish XTreams refactoring of base libraries.

Mini-language for unit testing.

Add DoubleFloat support to FFI.

System Structure

Implement file loading as parse-compile-then-execute and use/install the result object.

Re-implement the bootstrap assembly in terms of these compiled file-methods.

Implement an Eco-system style repository of modules that can be loaded per-caller.

Rename files to mirror module name (very closely if not identically).


Anatomy-style documentation tool based on the parser.

Literate-style documentation facility based on the doctool.


Implement online tutorials using doc tool

Fill out rosetta code

Install Packages for various OS/distributions (pkg/)


Unit tests

Fix bugs on

NOTE ExtensibleSequence’s removeFirst/removeFirst:/removeLast/removeLast: are just open-coded versions of first/first:/last/last: where the firstIndex or lastIndex are updated.

Fix File’s size method (…).