factor/TODO.FACTOR.txt

116 lines
3.7 KiB
Plaintext

+ ui:
- fix remaining GL issues
- UI issue: try resizing slider while menu is open
- make-pane: if no input, just return pane-output
- keyboard completion
- 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
- tabular output
- debugger should use outlining
- support nested incremental layouts more efficiently
- 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
- text selection
- clipboard support
- bug: slider bars go to 0 pixel width/height
- bug: left click to bring up context menu, click splitter bar
and pane grows to 100%
- bug: click tutorial, full screen, the right-most arrow icon
loses the vertical bar
+ tutorial:
- multiline code snippets
- s-expression text styling language
- word wrap
+ misc
- code walker & exceptions
- investigate if rehashing on startup is really necessary
- remove word transfer hack in bootstrap
- signal handler should not lose stack pointers
+ ffi:
- C structs, enums, unions: use new-style string mode parsing
- 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
- FIELD: char key_vector[32];
- FIELD: union { char b[20]; short s[10]; long l[5]; } data;
- MEMBER: long pad[24];
- convert factor sequences to c arrays, and vice versa
+ compiler:
- inference: try changing nth and set-nth array methods to call -unsafe,
unbalanced branches error
- 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
- 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 prettyprinting of cond
- 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