factor/TODO.FACTOR.txt

121 lines
3.9 KiB
Plaintext

+ ui:
- get outliner working with lots of lines of output
- listener continuations
- fix up the min thumb size hack
- off-by-one error in pick-up?
- closing ui does not stop timers
- adding/removing timers automatically for animated gadgets
- pane should not scroll all the way to the right if long lines are present
- multi-part gradients
- tabular output
- debugger should use outlining
- support nested incremental layouts more efficiently
- make-pane should not need world-theme
- only redraw dirty gadgets
- 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
- get things working without the [ >fixnum ] map hack
+ tutorial:
- multiline code snippets
- s-expression text styling language
- word wrap
+ misc
- code walker & exceptions
- load all sources in stage1
- investigate if rehashing on startup is really necessary
- remove word transfer hack in bootstrap
- [ ... is annoying
perhaps on the last line of output, if a block doesn't fit, print
it anyway?
- apropos: use new smarter completion?
- signal handler should not lose stack pointers
- 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
+ ffi:
- powerpc: ffi call a function that calls printf, segfault
- 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:
- compile interruption checks
- check that set-datastack and set-callstack compile correctly in the
face of optimization
- floating point intrinsics
- new basic block optimizer
- fix fixnum/mod overflow on PowerPC
- intrinsic char-slot set-char-slot
- [ ] [ throw ] ifte ==> should raise 'unbalanced branches' error
- declare slot types for built-ins
- remove dead code after a 'throw'
- flushing optimization
- [ [ 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
- compile continuations
+ sequences:
- slice: if sequence or seq start is changed, abstraction violation
- split: return vectors
- set-path: iterative
- swap @{ }@ and { } syntax
- specialized arrays
- instances: do not use make-list
- >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
+ i/o:
- i/o tasks hanging around
- faster stream-copy
- reading and writing byte arrays
- stream server can hang because of exception handler limitations
- better i/o scheduler
- utf16, utf8 encoding
- if two tasks write to a unix stream, the buffer can overflow