Known bugs - `.program' builtin verb not supported - [same as Lambda?] single backslash (\) on input - [fixed] LPC tracebacks don't give enough info - [fixed] nonprintable characters are not stripped from input - [mostly fixed] no lock() on critical regions Potential optimizations - [mostly done] make local variables local to each verb's main() - [mostly done] static variable arrays - smart compilation - [mostly done] make compiler optimize out CPS from code which cannot suspend? - [mostly done] move line-numbering into places where they're needed? - optimize parser.c (switch () et al.) - [done] extract the stack pointer into an int var - [done] compiler optimizations - [done] unparse verbcode immediately, and throw away the AST - integrate command parsing with nearby objects somehow? To Do - [done] remove dependencies on h2ph, and eventually Perl, in dnsbot - [done] sin(), cos(), tan(), atan() - [done] write a DNS interface - [done] tokenize verb source code - [started] write an LPC->MOO interface - think about compiling MOO->LPC->C ? - go through and add features from config file/MOO - write /lib/optimizer - refcounts for connection objects? MOO objects? - write independent dbsaver - fix connect/disconnect interface and connection objects (refcounts?) - optimize command parsing; cache objects & names - random() accept float? - protect LPMOO internals from user LPC - [done] min(), max() accept floats - [done] 8-bit binary strings (buffers?) - [done] renumber(create()) => special case; don't scan db Wish List - general overhaul to use VM - access to internal editor - ^ == pow()? - all ANSI math functions - "BAR" in "foobarbaz" => 4 ? - [1, 2] * 4 => [1, 2, 1, 2, 1, 2, 1, 2]