factor/TODO.FACTOR.txt

126 lines
3.5 KiB
Plaintext

+ plugin:
- if external factor is down, don't add tons of random shit to the
dictionary
- word preview for parsing words
+ ui:
- faster layout
- faster repaint
- console with presentations
- ui browser
- auto-updating inspector, mirrors abstraction
- mouse enter onto overlapping with interior, but not child, gadget
- menu dragging
- fix up the min thumb size hack
- frame gap
- tiled window manager
- rotating cube demo
+ ffi:
- clarify powerpc passing of value struct parameters
- char* struct members
- box/unbox_signed/unsigned_8
- ffi unicode strings: null char security hole
- utf16 string boxing
- value type structs
- out parameter cleanup
- bitfields in C structs
- SDL_Rect** type
- setting struct members that are not *
- char[14], etc members -- generalize char255
- FFI float types
+ compiler:
- get all-tests to run with -no-compile
- fix i/o on generic x86/ppc unix
- alien primitives need a more general input type
- [ [ 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
- 2map, sequence= slow with lists
- 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
- generic each some? all? member? memq? all=? index? subseq? map
- index and index* are very slow with lists
- list map, subset: not tail recursive
- phase out sbuf-append, index-of, substring
- unsafe-sbuf>string
- generic subseq
- GENERIC: map
- list impl same as now
- generic parser::scan
- array sort
+ kernel:
- 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
- vectors: ensure its ok with bignum indices
- code gc
- generational gc
- doc comments of generics
- M: object should not inhibit delegation
- renumber types appopriately
+ i/o:
- faster stream-copy
- rename prettyprint to pprint
- reading and writing byte arrays
- merge unix and win32 io where appropriate
- unix io: handle \n\r and \n\0
- reader syntax for arrays, byte arrays, displaced aliens
- separate words for writing characters and strings
- perhaps:
GENERIC: set-style ( style stream -- )
GENERIC: stream-write
GENERIC: stream-write-char
- stream server can hang because of exception handler limitations
- better i/o scheduler
- add a socket timeout
- unify unparse and prettyprint
- utf16, utf8 encoding
+ nice to have libraries:
- make-matrix is slow and ugly
- move 2repeat somewhere else
- 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
+ http:
- virtual hosts
- keep alive