[error] AWT-EventQueue-0: java.lang.NullPointerException [error] AWT-EventQueue-0: at org.gjt.sp.jedit.Buffer.markTokens(Buffer.java:2109) [error] AWT-EventQueue-0: at factor.jedit.WordPreview.getWordAtCaret(WordPreview.java:95) [error] AWT-EventQueue-0: at factor.jedit.WordPreview.showPreview(WordPreview.java:137) [error] AWT-EventQueue-0: at factor.jedit.WordPreview.actionPerformed(WordPreview.java:79) [error] AWT-EventQueue-0: at javax.swing.Timer.fireActionPerformed(Timer.java:271) + inference/dataflow: - type inference - handle odd base cases, with code after ifte - handle recursion with when, when* etc + linearizer/generator: - peephole optimizer - getenv/setenv: if literal arg, compile as a load/store - compiler: drop literal peephole optimization + compiler frontend: - assembler opcodes dispatch on operand types - save code in image - compile word twice; no more 'cannot compile' error! + oop: - union metaclass - make M: order-independent - bootstrapping generic words - 2generic - move generic, 2generic from kernel vocabulary - generic = hashcode and math ops + ffi: - is signed -vs- unsigned pointers an issue? - bitfields in C structs - SDL_Rect** type - struct membres that are not * - FFI float types + listener/plugin: - word added >1 - sidekick: still parsing too much - errors don't always disappear - console: wrong history - listener: if too many things popped off the stack, complain - NPE in ErrorHighlight - some way to not have previous definitions from a source file clutter the namespace - maple-like: press enter at old commands to evaluate there - completion in the listener - special completion for USE:/IN: + kernel: - profiler is inaccurate: wrong word on cs - better i/o scheduler - remove sbufs - cat, reverse-cat primitives - first-class hashtables - rewrite accessors and mutators in Factor, with slot/set-slot primitive - replace -export-dynamic with sundry-xt - add a socket timeout + misc: - step: print NEXT word to execute, not word that JUST executed - perhaps /i should work with all numbers - unit test weirdness: 2 lines appears at end - jedit ==> jedit-word, jedit takes a file name - command line parsing cleanup - nicer way to combine two paths - ditch object paths - browser responder for word links in HTTPd; inspect responder for objects - worddef props - prettyprint: when unparse called due to recursion, write a link + httpd: - log with date - file responder; last-modified field