1 Legend: - means planned/unreleased
3 * means finished/released
5 Following is a list of all planned and implemented features.
6 The topmost notes planned features for the release after the current one.
7 The second is the current state. Followed by any older releases
10 - MaLa 0.3 (planed features)
12 - ringbuffer for the program
13 - secondary types within the descriptor
14 types: dirty, int, float, mp ...
15 - source refactoring and cleanup
18 - for data (MRU dead queue, whatever) (maybe)
20 - modules/loaders produce macros instead engine->program (--MALARC --COMMANDLINE ...)
21 - hierachical expansion parser (start with '--' then, else if '-..')
22 - accumulate/robust errorchecking (less if()'s compound check)
23 - segv handler instead ENOMEM checking in experimental branch
24 - prereserve objects in freelists/wordtable for errorhandlers
25 - Make the Testsuite working again
27 - dynamic preprocessor substitutions ({ becomes --BEGIN, } becomes --END) like subst macros
28 - voluntary typesystem with inheritance
35 - Texinfo Programmer doc
42 - MaLa 0.2 (in progress)
43 Derived from the first hackerlab reference implementation
45 * expansions while pushback_program .. less bucket/string copy issues
46 * refactor stringlist api (no direct CIRCLEQ calls)
47 + define order of expansions
48 * actioninit takes 'parent' char* , brief/help become own actions
49 * new mala_strings shared, buckets, lookup, copy on write
50 * array for common names (instead string lookup)
51 + constant initialized strings (descriptor is dynamic, char* is const)
52 + modules/loaders produce macros instead engine->program (--MALARC --COMMANDLINE ...)
53 - accumulate/robust errorchecking (less if()'s compound check)
54 - *_dump needs stream handle (instead stderr)
57 * prepend unknown words with --DEFAULT-PARSER on mala_engine_run (defaults to --LITERAL)
58 - '--DELAY' dont evaluate the next argument
59 * expansions dont do magic
60 * foo=bar becomes --SETENV foo bar
61 * ! --FOO becomes --NOT --FOO
62 * implement general --BEGIN --END blocks (compile to --BLOCK-nnnn with delayed evaluation)
63 * '_' is used internally as (namespace) delimiter
64 (underscore expansion prevents users from using it)
67 + --SIGNATURE_--MACRO argumentspecs
68 + --RESULT_--MACRO returnspec
69 - --PRINTL prints blocks too
75 + macros for common parsers MALA_SUBSTITUTE_PARSER("FOO","BAR") etc.
78 * MaLa 0.1 (was never implemented for glibc)
79 Hackerlab reference implementation, incomatible with future stuff