Wed Aug 9 23:11:58 CEST 2006
cycle 44 or somting. trying to summ the features that are necessary,
but need to be implemented in a simpler way
- pre-emptive parser (separate process?) / lisp compatible?
- proper pairs and lisp dot syntax?
- lock free operation in core
- operate without libc malloc? / malloc once?
- proper type/object system
- multimethod dispatch (how to encode types and use that?)
- well thought out serialization: message based comm + persistent state
- are floats/ints/symbols different from packets?
- what about type symbols vs type lists?
- write a parser in forth (how to bootstrap this?)
- bytecode should not be lists but arrays
- any reason why the stack should be a list?
- need call threading for proper tail recursion (push bit)
- proper exceptions (continuations, dynamic-wind)
- don't ever use ints again to represent objects!
- don't ever use 2 type descriptions again!
so. forth + prototypes + multimethods some things (like the tail
recursion, and arrays instead of lists for bytecode storage) really
can't be fixed. the only thing that can be saved are the plugins, but
most of them will need to be adapted.
type tags. what about using some 'optimally' distributed hash for each
and every type encountered, stored in a central database. since i
basicly want a binary protocol, how would this be designed? 32bit
word, followed by size and raw data.
how about that thing, but per application, serving just as compiled in