macrodelete_parser fix
[mala.git] / NEWS
bloba118017f168940e71a40a57230a8f7aa6f0c2ed2
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     - pools for stringlib
11       - for descriptors
12       - for data (MRU dead queue, whatever) (maybe)
13       - stringlist nodes
14     - modules/loaders produce macros instead engine->program (--MALARC --COMMANDLINE ...)
15     - hierachical expansion parser (start with '--' then, else if '-..')
16     - accumulate/robust errorchecking (less if()'s compound check)
17     - segv handler instead ENOMEM checking in experimental branch
18     - prereserve objects in freelists/wordtable for errorhandlers
19   - Modules
20     - readline
21     - libtcc
22     - libltdl
24 - MaLa 0.2 (in progress)
25   Derived from the first hackerlab reference implementation
26   - Improved VM
27     * expansions while pushback_program .. less bucket/string copy issues
28     + refactor stringlist api (no direct CIRCLEQ calls)
29     + define order of expansions
30     * actioninit takes 'parent' char* , brief/help become own actions
31     * new mala_strings shared, buckets, lookup, copy on write
32     * array for common names (instead string lookup)
33     + constant initialized strings (descriptor is dynamic, char* is const)
34     + modules/loaders produce macros instead engine->program (--MALARC --COMMANDLINE ...)
35     - accumulate/robust errorchecking (less if()'s compound check)
36     - *_dump needs stream handle (instead stderr fixed)
37   - Language semantics
38     - prepend unknown words with --DEFAULT-PARSER on mala_engine_run (defaults to --LITERAL)
39     - '--DELAY' dont evaluate the next argument
40     * expansions dont do magic
41       * foo=bar becomes --SETENV foo bar
42       * ! --FOO becomes --NOT --FOO
43     * implement general --BEGIN --END blocks (compile to --BLOCK-nnnn with delayed evaluation)
44     - named blocks --BLOCK-name ... --END-name
45     * '_' is used internally as (namespace) delimiter
46         (underscore expansion prevents users from using it)
47   - Modules
48     + std
49       - --BLOCK-nnnnnnnn gets a once*_parser instead removing itself
50     - strings
51     - integer arithmetic
52   - Tools
53     + macros for common parsers MALA_SUBSTITUTE_PARSER("FOO","BAR") etc.