http://developer.apple.com/technotes/tn2004/tn2123.html#SECLIMITATIONS http://www.caddr.com/macho/archives/sbcl-devel/2005-3/4742.html not *too* long but we'd need to longjmp the main thread from the exception handler thread or cause a signal in the main thread http://www.caddr.com/macho/archives/sbcl-devel/2005-3/4764.html http://clozure.com/cgi-bin/viewcvs.cgi/ccl/lisp-kernel/lisp-exceptions.c?rev=1.9&content-type=text/vnd.viewcvs-markup - there is a problem with hashcodes of words and bootstrapping if write returns -1 and errno == EINTR then it's not a real error, you can try again - http keep alive, and range get - sleep word - fix i/o on generic x86/ppc unix - 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 - images saved from plugin do not work - 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: - faster layout - 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: - alien primitives need a more general input type - 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: - inference needs to be more robust with heavily recursive code - powerpc: float ffi parameters - fix fixnum<< and /i overflow on PowerPC - 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 - generic skip - dipping 2nmap, 2each - array sort - 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 - 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