factor/TODO.FACTOR.txt

108 lines
3.4 KiB
Plaintext

- reader syntax for arrays, byte arrays, displaced aliens
- fix infer hang
+ ui:
- fix listener prompt display after presentation commands invoked
- theme abstraction in ui
- menu dragging
- fix up the min thumb size hack
- gaps in pack layout
- find out why so many small bignums get consed
- faster mouse tracking
- binary search to locate visible children of packs
- rewrite frame layout for new style
- an interior paint that is only painted on rollover and mouse press;
use it for menu items. give menus a gradient background
- scroll bar: more intuitive behavior when clicking inside the elevator
- nicer scrollbars with up/down buttons
- icons
- use incremental strategy for all pack layouts where possible
- multiline editing in listener
- sort out clipping off-by-one flaw when filling rectangles
- better menu positioning
- only redraw dirty gadgets
- get stuff in examples dir running in the ui
- opengl rendering
- 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:
- 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 *
+ compiler:
- flushing optimization
- compile-byte/cell: instantiating aliens
- inference needs to be more robust with heavily recursive code
- fix fixnum<< and /i overflow on PowerPC
- simplifier:
- kill replace after a peek
- merge inc-d's across VOPs that don't touch the stack
- intrinsic char-slot set-char-slot integer-slot set-integer-slot
- [ [ dup call ] dup call ] infer hangs
- declarations
- the invalid recursion form case needs to be fixed, for inlines too
- #jump-f #jump-f-label
- re-introduce #target-label => #target optimization
- recursion is iffy; no base case needs to throw an error, and if the
stack at the recursive call doesn't match up, throw an error
+ kernel:
- 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
+ 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