2 ** DONE Bootstrap in :=. :macro:global:
3 ** DONE Allow | as a binary selector character.
4 ** DONE Implement "&foo" in message sends as "&foo: True".
5 ** DONE Core use of ::= binding. :macro:global:
6 ** BOOTSTRAP Implement creation of local variables for assignments.
7 ** STARTED Implement "%" as a binary selector lexeme unless used as Eventually prefix.
8 ** TODO Implement mutator selector pattern of "foo:=" and sunset "foo:". :global:
9 ** TODO Externalize `setTo: rules into data structures.
10 ** STARTED Implement Ruby === for includes:/select:/case-statement usage. :vm:support:
11 With different assymetrical selector, e.g. isCaseOf:.
12 Root -> \=. Collection -> includes:, Block -> applyWith:. Regex -> matches:.
13 ** TODO Implement \=:= as pattern-matching binding. :macro:
14 Requires generation of ::= statements.
15 Requires destructuring of Patterns/Partials
16 ** TODO Implement method definition as "signature := body".
17 Requires method header rewrite at macro-expansion time.
18 ** TODO Implement initial setting of a local to a literal as a static initialization.
19 Requires some VM support to instantiate the context with the values.
20 ** TODO Implement generalized word-quoting. foo{any text...} http://atomo-lang.org/docs/macros.html#section_macro-quotes :lexer:
21 *** TODO Implement math{3 + 4 * 5} to apply the precedence library's `math to it.
22 *** TODO Implement bytes{1 2 3 4} to create literal ByteArrays.
23 *** TODO Implement w{foo bar baz} (or words{}) to tokenize a list of words.
24 *** TODO Implement path{/usr/lib/foo} to create literal Path objects.
25 *** TODO Implement r{[a-z](.*)[ ]} to create regular expression matchers.
26 *** TODO Implement glob{foo?.*.c} to create Glob objects.
27 *** TODO Implement q{} to create ##() literal/read-time arrays.
28 *** TODO Implement comment{} or why{} or doc{} for comments and reclaim double-quotes.
29 ** TODO Implement | as a special binary macro for chaining expressions and shell pipelines.
30 ** TODO Change block header syntax to [|( ... ) body ]. :lexer:global:incompatible:
31 ** TODO Swap {} with [] :lexer:global:incompatible:
33 ** TODO Finish XTreams refactoring of base libraries.
34 ** TODO Mini-language for unit testing.
35 ** TODO Add DoubleFloat support to FFI.
37 ** TODO Implement file loading as parse-compile-then-execute and use/install the result object.
38 ** TODO Re-implement the bootstrap assembly in terms of these compiled file-methods.
39 ** TODO Implement an Eco-system style repository of modules that can be loaded per-caller.
40 ** TODO Rename files to mirror module name (very closely if not identically).
42 ** TODO Anatomy-style documentation tool based on the parser.
43 ** TODO Literate-style documentation facility based on the doctool.
45 ** Implement online tutorials using doc tool
46 ** Fill out rosetta code http://www.rosettacode.org/wiki/Category:Slate
47 ** Install Packages for various OS/distributions (pkg/)
50 ** Fix bugs on http://code.google.com/p/slate-language/issues/list
51 ** NOTE ExtensibleSequence's removeFirst/removeFirst:/removeLast/removeLast: are just open-coded versions of first/first:/last/last: where the firstIndex or lastIndex are updated.
52 ** TODO Fix File's size method (...).