+ plugin: - if external factor is down, don't add tons of random shit to the dictionary - extract word: if selection empty, move caret to new word after - introduce quotation command - set 'end' of artifacts/assets accurately + ui: - faster layout - faster repaint - console with presentations - ui browser - auto-updating inspector - 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 parameters - 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 - linux? bsd? words - [ [ 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 - 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 - move >list to lists + kernel: - get all-tests to run with -no-compile - 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 - condition system with restarts - nicer way to combine two paths - vectors: ensure its ok with bignum indices - code gc - generational gc - doc comments of generics - proper ordering for classes - M: object should not inhibit delegation + i/o: - 0 read broken - review errno - separate words for writing characters and strings - perhaps: GENERIC: set-style ( style stream -- ) GENERIC: stream-write GENERIC: stream-write-char - mac os x ffi - stream server can hang because of exception handler limitations - better i/o scheduler - add a socket timeout - renumber types appopriately - linux? freebsd? words, linux i/o stuff - implement fcopy - 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 + matrix lib: - 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