0.74: - faster layout - faster repaint - linux? bsd? words - forgotten words not removed from cross-reference - get all-tests to run with -no-compile - review errno - mac os x ffi - linux i/o - implement fcopy - fix httpd - fix jedit plugin - if external factor is down, don't add tons of random shit to the dictionary - scalar * matrix, vector * matrix, matrix * vector need to work - turning vectors into row and column matrices - make-matrix is slow and ugly - move 2repeat somewhere else + ui: - console with presentations - ui browser - auto-updating inspector, mirrors abstraction - word preview for parsing words - mouse enter onto overlapping with interior, but not child, gadget - menu dragging - fix up the min thumb size hack - frame gap + ffi: - char* struct members - box/unbox_signed/unsigned_8 - ffi unicode strings: null char security hole - utf16 string boxing - value type structs - out parameter cleanup - bitfields in C structs - SDL_Rect** type - setting struct members that are not * - char[14], etc members -- generalize char255 - FFI float types + compiler: - alien primitives need a more general input type - [ [ dup call ] dup call ] infer hangs - more accurate types for various words - declarations - type inference fails with some assembler words; displaced, register and other predicates need to inherit from list not cons, and need stronger branch partial eval - redo partial eval - optimize away arithmetic dispatch - dataflow optimizer needs eq not = - the invalid recursion form case needs to be fixed, for inlines too - #jump-f #jump-f-label - re-introduce #target-label => #target optimization + sequences - 2map, sequence= slow with lists - nappend: instead of using push, enlarge the sequence with set-length then add set the elements with set-nth - ensure-capacity: don't be generic - vector's ensure-capacity will crash if not given fixnums! - dipping seq-2nmap, seq-2each - remove seq- prefixes - generic each some? all? member? memq? all=? top index? subseq? - index and index* are very slow with lists - list map, subset, project, append: not tail recursive - phase out sbuf-append - decide what to do with index-of - GENERIC: map - list impl same as now + kernel: - rename prettyprint to pprint - powerpc has weird callstack residue - .factor-rc loading errors are not reported properly - instances: do not use make-list - unions containing tuples do not work properly - need G: combinations - method doc strings - code walker & exceptions - string sub-primitives - clean up metaclasses - vectors: ensure its ok with bignum indices - code gc - generational gc - doc comments of generics - M: object should not inhibit delegation + i/o: - reader syntax for arrays, byte arrays, displaced aliens - separate words for writing characters and strings - perhaps: GENERIC: set-style ( style stream -- ) GENERIC: stream-write GENERIC: stream-write-char - stream server can hang because of exception handler limitations - better i/o scheduler - add a socket timeout - renumber types appopriately - unify unparse and prettyprint + nice to have libraries: - regexps - XML - HTTP client - real Unicode support (strings are already 16 bits and can be extended to 21 if the need arises, but we need full character classification predicates, comparison, case conversion, sorting...) - full Win32 binding - Cairo binding + httpd: - virtual hosts - keep alive