factor/TODO.FACTOR.txt

124 lines
4.1 KiB
Plaintext

+ 0.83:
- windows port from erg
- why aren't some cocoa words compiled?
- editor:
- scroll to caret
- clicking input doesn't resize editor gadget
- better listener multi-line expression handling
- C+p/C+n with empty history bombs
- shift modifier not delivered
- x11 copy to clipboard
- httpd search tools
- remaining HTML issues need fixing
+ io:
- unix i/o: problems with passing f to syscalls
- factorcode httpd started using 99% CPU, but still received connections;
closing read-fds solved it
- sometimes darcs get fails with the httpd
- gdb triggers 'mutliple i/o ops on port' error
- "localhost" 50 <client> won't fail
+ ui:
- one-column table doesn't need borders...?
[2:45pm] tathi: Factor's text display is a bit odd sometimes, until you mouse over (or click, if there's no "live" text)
[2:48pm] tathi: it appears to be using the font metrics from the sprite tuple, but re-using the texture from the previous letter
[2:59pm] tathi: hmm...and it looks like it's only be happening the first time you use a given character (from a given font face)
- make-frame should compile
- editor:
- undo and redo
- transpose char/word/line
- autoscroll
- page up/down
- search and replace
- only redraw visible lines
- more efficient multi-line inserts
- finish gui stepper
- windows are not updated while resizing
- graphical module manager tool
- add some handy services:
- base conversion
- search help for selection
- make factor a services client
- services do not launch if factor not running
- grid slows down with 2000 lines
- integrated error documentation
- roundoff is still not quite right with tracks
- 'show' doesn't work if invoked from a listener on an object which is
itself inspected in the listener
- ui uses too much cpu time idling
- see if its possible to only repaint dirty regions
- x11 title bars are funny
- fix top level window positioning
- prettyprinter's highlighting of non-leaves doesn't really work
- rollover is not updated on window focus changes
- x11 input methods
- cocoa:
- horizontal wheel scrolling
- polish OS X menu bar code
- variable width word wrap
- slider needs to be modelized
+ module system:
- 'see' should show tuple constructors
- forgetting a class should remove its methods from all generic words
- forgetting a tuple class should forget the constructor
- seeing a tuple class should show the constructor
- C types should be words
- TYPEDEF: float { ... } { ... } ; ==> \ float T{ c-type ... } "c-type" swp
- TYPEDEF: float FTFloat ; ==> \ float \ FTFloat "c-type" swp
- make typedef aliasing explicit
- seeing a C struct word should show its def
- see by itself only shows the G: def
- { class generic } see supports forms:
{ f generic } to show all methods
{ class f } to show all methods
- modularize core
- TUPLE: module files tests articles article main ;
- methods: remember their file/line
- { class generic } jedit, reload DTRT
- requesting a list of assets loaded from a specific file
- T{ link f "foo" "bar" } see
- T{ link f "foo" "bar" } jedit
- T{ link f "foo" "bar" } reload
- file out
- make 'forget' generic
+ compiler/ffi:
- mac intel: struct returns from objc methods
- see if alien calls can be made faster
- faster sequence= for UI
- fix compiled gc check
- there was a performance hit, investigate
- float boxing and overflow checks need a gc check too
- constant branch folding
- type inference at branch merge points
- float= doesn't consider nans equal
- intrinsic fixnum>float float>fixnum
- remove literal table
- C functions returning structs by value
- [ [ dup call ] dup call ] infer hangs
- the invalid recursion form case needs to be fixed, for inlines too
- code gc
+ misc:
- consider: swap tail --> tail, swap head --> head
- mach_signal: fault address reporting is not reliable
- slice: if sequence or seq start is changed, abstraction violation
- hashed generic method dispatch
- fix this:
[ 1 2 3 4 5 6 7 8 9 10 10 10 10 10 10 10 10 10 10 11 11 11 113 ] .
[ 1 2 3 4 5 6 7 8 9 10 10 10 10 10 10 10 10 10 10 11 11 11 113
]
- code walker & exceptions -- test and debug problems
- break: perhaps use current stdio to run break listener