--HELP and --BRIEF
[mala.git] / NEWS
blobe7e19dce9848820fda30772757c2b31f3953bb1f
1 Legend: - means planned/unreleased
2         + means in progres
3         * means finished/released
5 - MaLa 0.3 (planed features)
6   - Improved VM
7     - ringbuffer for the program
8     - secondary types within the descriptor
9       types: dirty, int, float, mp ...
10     - source refactoring and cleanup
11     - pools for stringlib
12       - for descriptors
13       - for data (MRU dead queue, whatever) (maybe)
14       - stringlist nodes
15     - modules/loaders produce macros instead engine->program (--MALARC --COMMANDLINE ...)
16     - hierachical expansion parser (start with '--' then, else if '-..')
17     - accumulate/robust errorchecking (less if()'s compound check)
18     - segv handler instead ENOMEM checking in experimental branch
19     - prereserve objects in freelists/wordtable for errorhandlers
20   - Language
21     - dynamic preprocessor substitutions ({ becomes --BEGIN, } becomes --END) like subst macros
22   - Modules
23     - readline
24     - libtcc
25     - libltdl
26     - dialog
28 - MaLa 0.2 (in progress)
29   Derived from the first hackerlab reference implementation
30   - Improved VM
31     * expansions while pushback_program .. less bucket/string copy issues
32     + refactor stringlist api (no direct CIRCLEQ calls)
33     + define order of expansions
34     * actioninit takes 'parent' char* , brief/help become own actions
35     * new mala_strings shared, buckets, lookup, copy on write
36     * array for common names (instead string lookup)
37     + constant initialized strings (descriptor is dynamic, char* is const)
38     + modules/loaders produce macros instead engine->program (--MALARC --COMMANDLINE ...)
39     - accumulate/robust errorchecking (less if()'s compound check)
40     - *_dump needs stream handle (instead stderr fixed)
41   - Language semantics
42     * prepend unknown words with --DEFAULT-PARSER on mala_engine_run (defaults to --LITERAL)
43     - '--DELAY' dont evaluate the next argument
44     * expansions dont do magic
45       * foo=bar becomes --SETENV foo bar
46       * ! --FOO becomes --NOT --FOO
47     * implement general --BEGIN --END blocks (compile to --BLOCK-nnnn with delayed evaluation)
48     * '_' is used internally as (namespace) delimiter
49         (underscore expansion prevents users from using it)
50   - Modules
51     + std
52     - strings
53     - integer arithmetic
54   - Tools
55     + macros for common parsers MALA_SUBSTITUTE_PARSER("FOO","BAR") etc.