factor/TODO.FACTOR.txt

131 lines
3.6 KiB
Plaintext

+ plugin:
- if external factor is down, don't add tons of random shit to the dictionary
- extract word: if selection empty, move caret to new word after
- introduce quotation command
- set 'end' of artifacts/assets accurately
+ ui:
- faster layout
- faster repaint
- console with presentations
- ui browser
- auto-updating inspector
- word preview for parsing words
- mouse enter onto overlapping with interior, but not child, gadget
- menu dragging
- fix up the min thumb size hack
- frame gap
+ ffi:
- char* struct members
- box/unbox_signed/unsigned_8
- ffi unicode strings: null char security hole
- utf16 string boxing
- value type structs
- out parameters
- bitfields in C structs
- SDL_Rect** type
- setting struct members that are not *
- char[14], etc members -- generalize char255
- FFI float types
+ compiler:
- alien primitives need a more general input type
- linux? bsd? words
- [ [ dup call ] dup call ] infer hangs
- more accurate types for various words
- declarations
- type inference fails with some assembler words;
displaced, register and other predicates need to inherit from list
not cons, and need stronger branch partial eval
- redo partial eval
- optimize away arithmetic dispatch
- dataflow optimizer needs eq not =
- the invalid recursion form case needs to be fixed, for inlines too
- #jump-f #jump-f-label
- re-introduce #target-label => #target optimization
+ sequences
- nappend: instead of using push, enlarge the sequence with set-length
then add set the elements with set-nth
- ensure-capacity: don't be generic
- vector's ensure-capacity will crash if not given fixnums!
- dipping seq-2nmap, seq-2each
- remove seq- prefixes
- generic each some? all? member? memq? all=? top
index? subseq?
- index and index* are very slow with lists
- list map, subset, project, append: not tail recursive
- phase out sbuf-append
- decide what to do with index-of
- GENERIC: map
- list impl same as now
- move >list to lists
+ kernel:
- get all-tests to run with -no-compile
- powerpc has weird callstack residue
- .factor-rc loading errors are not reported properly
- instances: do not use make-list
- unions containing tuples do not work properly
- need G: combinations
- method doc strings
- code walker & exceptions
- string sub-primitives
- clean up metaclasses
- condition system with restarts
- nicer way to combine two paths
- vectors: ensure its ok with bignum indices
- code gc
- generational gc
- doc comments of generics
- proper ordering for classes
- M: object should not inhibit delegation
+ i/o:
- 0 read broken
- review errno
- separate words for writing characters and strings
- perhaps:
GENERIC: set-style ( style stream -- )
GENERIC: stream-write
GENERIC: stream-write-char
- mac os x ffi
- stream server can hang because of exception handler limitations
- better i/o scheduler
- add a socket timeout
- renumber types appopriately
- linux? freebsd? words, linux i/o stuff
- implement fcopy
- unify unparse and prettyprint
+ nice to have libraries:
- regexps
- XML
- HTTP client
- 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
+ httpd:
- virtual hosts
- keep alive
+ matrix lib:
- scalar * matrix, vector * matrix, matrix * vector need to work
- turning vectors into row and column matrices
- make-matrix is slow and ugly
- move 2repeat somewhere else