factor/TODO.FACTOR.txt

132 lines
4.2 KiB
Plaintext

<magnus--> http://developer.apple.com/technotes/tn2004/tn2123.html#SECLIMITATIONS
<magnus--> http://www.caddr.com/macho/archives/sbcl-devel/2005-3/4742.html
<magnus--> not *too* long
<magnus--> but we'd need to longjmp the main thread from the exception handler thread
<magnus--> or cause a signal in the main thread
<magnus--> http://www.caddr.com/macho/archives/sbcl-devel/2005-3/4764.html
<magnus--> http://clozure.com/cgi-bin/viewcvs.cgi/ccl/lisp-kernel/lisp-exceptions.c?rev=1.9&content-type=text/vnd.viewcvs-markup
<erg> if write returns -1 and errno == EINTR then it's not a real error, you can try again
- make head? tail? more efficient with slices
- fix ceiling
- single-stepper and variable access: wrong namespace?
- investigate if COPYING_GEN needs a fix
- faster layout
- keep alive
- sleep word
- fix fixnum<< overflow on PowerPC
- fix i/o on generic x86/ppc unix
- alien primitives need a more general input type
- 2map slow with lists
- nappend: instead of using push, enlarge the sequence with set-length
then add set the elements with set-nth
- faster sequence operations
- generic some? all? memq? fiber?
- index and index* are very slow with lists
- code walker & exceptions
- if two tasks write to a unix stream, the buffer can overflow
- rename prettyprint* to pprint, prettyprint to pp
- reader syntax for arrays, byte arrays, displaced aliens
- dipping seq-2nmap, seq-2each
- array sort
- images saved from plugin do not work
- generic skip
- inference needs to be more robust with heavily recursive code
- investigate orphans
+ plugin:
- word preview for parsing words
- plugin: supportsBackspace
- if external factor is down, don't add tons of random shit to the
dictionary
+ ui:
- tiled window manager
- faster repaint
- console with presentations
- ui browser
- auto-updating inspector, mirrors abstraction
- mouse enter onto overlapping with interior, but not child, gadget
- rollovers broken in inspector
- menu dragging
- fix up the min thumb size hack
- frame gap
+ ffi:
- smarter out parameter handling
- clarify powerpc passing of value struct parameters
- box/unbox_signed/unsigned_8
- ffi unicode strings: null char security hole
- utf16 string boxing
- value type structs
- bitfields in C structs
- setting struct members that are not *
+ compiler:
- simplifier:
- kill replace after a peek
- merge inc-d's across VOPs that don't touch the stack
- [ EAX 0 ] --> [ EAX ]
- intrinsic char-slot set-char-slot integer-slot set-integer-slot
- [ [ 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
- optimize away arithmetic dispatch
- the invalid recursion form case needs to be fixed, for inlines too
- #jump-f #jump-f-label
- re-introduce #target-label => #target optimization
+ sequences
- specialized arrays
- list map, subset: not tail recursive
- phase out sbuf-append
+ kernel:
- delegating generic words with a non-standard picker
- powerpc has weird callstack residue
- instances: do not use make-list
- unions containing tuples do not work properly
- method doc strings
- clean up metaclasses
- vectors: ensure its ok with bignum indices
- code gc
- doc comments of generics
- M: object should not inhibit delegation
- renumber types appopriately
+ i/o:
- faster stream-copy
- reading and writing byte arrays
- merge unix and win32 io where appropriate
- unix io: handle \n\r and \n\0
- 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
- unify unparse and prettyprint
- utf16, utf8 encoding
+ nice to have libraries:
- 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