small changes
[mala.git] / NEWS
blobde3ae4768702b1b3740eb6e1f62816200fbca660
1 Legend: - means planned/unreleased
2         + means in progres
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)
11   - Improved VM
12     - ringbuffer for the program
13     - secondary types within the descriptor
14       types: dirty, int, float, mp ...
15     - source refactoring and cleanup
16     - pools for stringlib
17       - for descriptors
18       - for data (MRU dead queue, whatever) (maybe)
19       - stringlist nodes
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
26   - Language
27     - dynamic preprocessor substitutions ({ becomes --BEGIN, } becomes --END) like subst macros
28     - voluntary typesystem with inheritance
29   - Modules
30     - readline
31     - libtcc
32     - libltdl
33     - dialog
34   - Documentation
35     - Texinfo Programmer doc
36   - Security System
37   - Typesystem
38     - completion
39   - gettext
42 - MaLa 0.2 (in progress)
43   Derived from the first hackerlab reference implementation
44   - Improved VM
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)
55     - mala_alloc
56   - Language semantics
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)
65   - Modules
66     + std
67       + --SIGNATURE_--MACRO argumentspecs
68       + --RESULT_--MACRO returnspec
69       - --PRINTL prints blocks too
70     - strings
71     - integer arithmetic
72   - Documentation
73     - Buildin Help system
74   - Tools
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