94 lines
3.1 KiB
Plaintext
94 lines
3.1 KiB
Plaintext
= fixes:
|
|
|
|
- [ [ dup call ] dup call ] infer hangs
|
|
- copying pane output
|
|
- reverse traversal
|
|
- better hit tester
|
|
- forgetting a word should erase it from source-files-uses
|
|
- memory leak on os x
|
|
- <viewport>, smart-usage, infer-children prettyprinted ugly
|
|
- should be possible to load multiple i/o backends, compiler backends,
|
|
ui backends etc without problems
|
|
- crc32: unicode
|
|
- bignum allocators don't work for numbers which don't fit in 30 bits
|
|
- compiled call traces do not work if the runtime is built with
|
|
-fomit-frame-pointer on ppc (and amd64?)
|
|
- models: don't do redundant work
|
|
- auto-update browser and help when sources reload
|
|
- implementation of math functions needs work; uses overly naive
|
|
formulas
|
|
- fix conditions and restarts to work like CL
|
|
- amd64 structs-by-value bug
|
|
- float= doesn't consider nans equal
|
|
- clarify role of -0.0
|
|
- if a word drops the stack pointer below the bottom, then an error
|
|
won't be thrown until the next word accesses the stack
|
|
- should be possible to reload any source file in library
|
|
- slice: if sequence or seq start is changed, abstraction violation
|
|
- compiled call stack overflows shouldn't crash so hard
|
|
- finish cocoa input methods
|
|
- tuple shape changes interact in funny ways with compiler
|
|
|
|
= performance:
|
|
|
|
- long strings slow down redisplay
|
|
- if a loc appears multiple times on the phantom-stack, then we read
|
|
it more than once as each occurrence is vreg-ified
|
|
- optimize:
|
|
- all-words [ synopsis ] map drop
|
|
- yuv>rgb
|
|
- "factor.image" run-file should fail quicker!
|
|
- 10000 [ dup number>string ] map>hash describe in the UI
|
|
- apropos
|
|
- available-modules
|
|
- md5, crc32
|
|
- 100000 [ "\"hello\" not" eval drop ] times
|
|
- compilation
|
|
- make-image
|
|
- natural-sort
|
|
- spectral norm
|
|
- float arrays
|
|
- permgen
|
|
- no write barrier for stores of immediates
|
|
- compiled continuations
|
|
- memcspn is ugly, remove it and get a Factor inner loop to be as fast
|
|
- no need to generate dead code after a tail call
|
|
- cross-word type inference
|
|
- hashed generic dispatch
|
|
- minor GC takes too long now, we should card mark code heap
|
|
- incremental GC
|
|
- prettyprinter: don't build entire tree to print first
|
|
- ui inspector should work with very large objects
|
|
- intrinsics for (hashtable), <word>, <wrapper>, string>sbuf,
|
|
(fraction>), word-xt, <complex>, array>vector, <displaced-alien>,
|
|
(clone) of known size object
|
|
|
|
= features:
|
|
|
|
- it would be nice if ctrl-p, ctrl-m, ctrl-e etc could use pageup pagedown
|
|
- windows unicode input methods
|
|
- variable width word wrap
|
|
- ui crossref tool
|
|
- auto-generated docs for alien accessors
|
|
- unicode text rendering
|
|
- profiler:
|
|
- sampling instead of counting
|
|
- profile compiled code too
|
|
- ui tool
|
|
- evaluating code in the walker, somehow
|
|
- record $links as usage?
|
|
- better tuple constructors
|
|
- integrate libs/unicode/
|
|
- new module system
|
|
- compiler implementation documentation
|
|
- compiling 'curry'
|
|
- building minimal images
|
|
- cross compiling
|
|
- UDP for Windows and Solaris
|
|
- ipv6
|
|
- unicode file paths on unix
|
|
- DLL interface:
|
|
- document DLL interface
|
|
- multiple Factor instances per DLL, with clean unloading
|
|
- better exported C API
|