factor/TODO.FACTOR.txt

115 lines
3.6 KiB
Plaintext

+ 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:
- flushing optimization
- fix fixnum/mod overflow on PowerPC
- eliminate simplifier
- intrinsic char-slot set-char-slot
- [ [ dup call ] dup call ] infer hangs
- declarations
- 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
- remove %fixnum-</<=/>/>=, always use %jump-* form
- remove %jump-t, use %jump-eq? f instead
- kill dead code after 'throw'
- better type inference
+ kernel:
- better handling of random arrangements of html words when
prettyprinting
- friendlier .factor-rc load error handling
- reader syntax for arrays, byte arrays, displaced aliens
- out of memory error when printing global namespace
- first time hash/vector is grown, set size to something big
- merge timers with sleeping tasks
- what about tasks and timers between image restarts
- split: return vectors
- specialized arrays
- there is a problem with hashcodes of words and bootstrapping
- delegating generic words with a non-standard picker
- powerpc has weird callstack residue
- instances: do not use make-list
- vectors: ensure its ok with bignum indices
- code gc
- set-path: iterative
- parse-command-line: no unswons of cli args
- >c/c>: vector stack
- tag: move from kernel-internals to kernel
- word: when bootstrapping, 'word' var is not cleared
- search: slow
- investigate if rehashing on startup is really necessary
- vectorize >n, n>, (get)
- mutable strings simplifying string operarations
- 2each, find*, subset are ugly
- map and 2map duplicate logic
+ i/o:
- buffer: instantiating aliens
- 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
+ nice to have libraries:
- regexps
- XML
- 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