init documentation system
[mala.git] / NEWS
blob4ce0089f716b73993d96dbd4f52b71001db41d70
1 Legend: - means planned/unreleased
2         + means in progres
3         * means finished/released
5 TODO:
6 - fix getenv_expansion
7 - hierachical expansion parser (start with '--' then, else if '-..')
8 - accumulate errorchecking (less if()'s compound check)
9 - segv handler instead ENOMEM checking in experimental branch
10 - back to free functions die with NULL argument
11 - *_dump needs stream handle (instead stderr fixed)
12 - prereserve objects in freelists/wordtable for errorhandlers
14 NOTES:
15  Function: int wordexp (const char *WORDS, wordexp_t *WORD-VECTOR-PTR, int FLAGS)
17 - MaLa 0.2
18   Derived from the first hackerlab reference implementation
19   - Improved VM
20     + expansions while pushback_program .. less bucket/string copy issues
21     + refactor stringlist api (no direct CIRCLEQ calls)
22     - define order of expansions
23     - actioninit takes 'parent' char* , brief/help become own actions
24     * new mala_strings shared, buckets, lookup, copy on write
25     - ringbuffer for the program
26     + array for common names (instead string lookup)
27     - primary/secondary types within the descriptor
28       types:
29       - dirty
30       - string
31       - unistring
32       - inlined int
33       - long long
34       - mp
35     - pools for stringlib
36       - for descriptors
37       - for data (MRU dead queue, whatever) (maybe)
38       - stringlist nodes
39     + constant initialized strings (descriptor is dynamic, char* is const)
40     - tabling (cache for results chksum:result[N] in actiondesc or action)
41     - modules/loaders produce macros instead engine->program (--MALARC --COMMANDLINE ...)
42   - Language semantics
43     - prepend unknown words with --DEFAULT-PARSER (defaults to --LITERAL)
44     - '--LITERAL' puts the parameter to the arglist
45     - '--DELAY' dont evaluate the next argument
46     - expansions dont do magic
47       - foo=bar becomes --SETENV foo bar
48       - ! --FOO becomes --NOT --FOO
49     - remove the negated flag, use MALA_NEGATED vm state?
50     - store the 'end of scope' within the engine and --PARAM x reads args after the end
51        err reading new args as coroutine?
52     - implement general --BEGIN --END blocks (compile to --BLOCK-nnnn with delayed evaluation)
53     - named blocks --BLOCK-name ... --END-name
54   - Tools
55     + macros for common parsers MALA_SUBSTITUTE_PARSER("FOO","BAR") etc.