131 lines
3.6 KiB
Plaintext
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
|