factor/TODO.FACTOR.txt

108 lines
3.4 KiB
Plaintext

- nodes: lazily create history, class/literal map hashes
- 5 car gives wrong error
- compile interruption checks
+ ui:
- fix up the min thumb size hack
- long lines of text fail in draw-surface
- only redraw dirty gadgets
- faster mouse tracking
- off-by-one error in pick-up?
- closing ui does not stop timers
- adding/removing timers automatically for animated gadgets
- theme abstraction in ui
- find out why so many small bignums get consed
- use incremental strategy for all pack layouts where possible
- multiline editing in listener
- get stuff in examples dir running in the ui
- text selection
- clipboard support
+ tutorial:
- multiline code snippets
- s-expression text styling language
- word wrap
+ misc
- sigsegv handling on OS X:
http://developer.apple.com/technotes/tn2004/tn2123.html#SECLIMITATIONS
http://www.caddr.com/macho/archives/sbcl-devel/2005-3/4742.html
http://www.caddr.com/macho/archives/sbcl-devel/2005-3/4764.html
http://clozure.com/cgi-bin/viewcvs.cgi/ccl/lisp-kernel/lisp-exceptions.c?rev=1.9&content-type=text/vnd.viewcvs-markup
- http keep alive, and range get
- code walker & exceptions
+ ffi:
- C structs, enums, unions: use new-style string mode parsing
- alien/c-types.factor is ugly
- smarter out parameter handling
- clarify powerpc passing of value struct parameters
- ffi unicode strings: null char security hole
- utf16 string boxing
- value type structs
- bitfields in C structs
- setting struct members that are not *
- callbacks
+ compiler:
- [ ] [ throw ] ifte ==> should raise 'unbalanced branches' error
- declare slot types for built-ins
- remove dead code after a 'throw'
- floating point intrinsics
- flushing optimization
- fix fixnum/mod overflow on PowerPC
- intrinsic char-slot set-char-slot
- [ [ dup call ] dup call ] infer hangs
- the invalid recursion form case needs to be fixed, for inlines too
- recursion is iffy; if the stack at the recursive call doesn't match
up, throw an error
+ sequences:
- split: return vectors
- specialized arrays
- instances: do not use make-list
- vectors: ensure its ok with bignum indices
- nth-unsafe and set-nth-unsafe; ensure it works with bignum indices
- >c/c>: vector stack
- search: slow
- vectorize >n, n>, (get)
- mutable strings simplifying string operarations
- 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...)
+ kernel:
- better handling of random arrangements of html words when
prettyprinting
- friendlier .factor-rc load error handling
- reader syntax for byte arrays, displaced aliens
- out of memory error when printing global namespace
- merge timers with sleeping tasks
- what about tasks and timers between image restarts
- there is a problem with hashcodes of words and bootstrapping
- delegating generic words with a non-standard picker
- code gc
- set-path: iterative
- parse-command-line: no unswons of cli args
- investigate if rehashing on startup is really necessary
- remove word transfer hack in bootstrap
+ i/o:
- faster stream-copy
- reading and writing byte arrays
- stream server can hang because of exception handler limitations
- better i/o scheduler
- utf16, utf8 encoding
- fix i/o on generic x86/ppc unix
- if two tasks write to a unix stream, the buffer can overflow