]> gitweb.factorcode.org Git - factor.git/blob - TODO.FACTOR.txt
Factor 0.79
[factor.git] / TODO.FACTOR.txt
1 + ui:\r
2 \r
3 - fix remaining GL issues\r
4 - UI issue: try resizing slider while menu is open\r
5 - make-pane: if no input, just return pane-output\r
6 - keyboard completion\r
7 - get outliner working with lots of lines of output\r
8 - listener continuations\r
9 - fix up the min thumb size hack\r
10 - off-by-one error in pick-up?\r
11 - closing ui does not stop timers\r
12 - adding/removing timers automatically for animated gadgets\r
13 - tabular output\r
14 - debugger should use outlining\r
15 - support nested incremental layouts more efficiently\r
16 - only redraw dirty gadgets\r
17 - find out why so many small bignums get consed\r
18 - use incremental strategy for all pack layouts where possible\r
19 - multiline editing in listener\r
20 - text selection\r
21 - clipboard support\r
22 - bug: slider bars go to 0 pixel width/height\r
23 - bug: left click to bring up context menu, click splitter bar\r
24   and pane grows to 100%\r
25 - bug: click tutorial, full screen, the right-most arrow icon\r
26   loses the vertical bar\r
27 \r
28 + tutorial:\r
29 \r
30 - multiline code snippets\r
31 - s-expression text styling language\r
32 - word wrap\r
33 \r
34 + misc\r
35 \r
36 - code walker & exceptions\r
37 - investigate if rehashing on startup is really necessary\r
38 - remove word transfer hack in bootstrap\r
39 - signal handler should not lose stack pointers\r
40 \r
41 + ffi:\r
42 \r
43 - C structs, enums, unions: use new-style string mode parsing\r
44 - smarter out parameter handling\r
45 - clarify powerpc passing of value struct parameters\r
46 - ffi unicode strings: null char security hole\r
47 - utf16 string boxing\r
48 - value type structs\r
49 - bitfields in C structs\r
50 - setting struct members that are not *\r
51 - callbacks\r
52 - FIELD: char key_vector[32];\r
53 - FIELD: union { char b[20]; short s[10]; long l[5]; } data;\r
54 - MEMBER: long pad[24];\r
55 - convert factor sequences to c arrays, and vice versa\r
56 \r
57 + compiler:\r
58 \r
59 - inference: try changing nth and set-nth array methods to call -unsafe,\r
60   unbalanced branches error\r
61 - compile interruption checks\r
62 - check that set-datastack and set-callstack compile correctly in the\r
63   face of optimization\r
64 - floating point intrinsics\r
65 - new basic block optimizer\r
66 - fix fixnum/mod overflow on PowerPC\r
67 - intrinsic char-slot set-char-slot\r
68 - [ ] [ throw ] ifte ==> should raise 'unbalanced branches' error\r
69 - declare slot types for built-ins\r
70 - remove dead code after a 'throw'\r
71 - flushing optimization\r
72 - [ [ dup call ] dup call ] infer hangs\r
73 - the invalid recursion form case needs to be fixed, for inlines too\r
74 - recursion is iffy; if the stack at the recursive call doesn't match\r
75   up, throw an error\r
76 - compile continuations\r
77 \r
78 + sequences:\r
79 \r
80 - slice: if sequence or seq start is changed, abstraction violation\r
81 - split: return vectors\r
82 - set-path: iterative\r
83 - specialized arrays\r
84 - instances: do not use make-list\r
85 - >c/c>: vector stack\r
86 - search: slow\r
87 - vectorize >n, n>, (get)\r
88 - mutable strings simplifying string operarations\r
89 - real Unicode support (strings are already 16 bits and can be extended\r
90   to 21 if the need arises, but we need full character classification\r
91   predicates, comparison, case conversion, sorting...)\r
92 \r
93 + kernel:\r
94 \r
95 - better prettyprinting of cond\r
96 - better handling of random arrangements of html words when\r
97   prettyprinting\r
98 - friendlier .factor-rc load error handling\r
99 - reader syntax for byte arrays, displaced aliens\r
100 - out of memory error when printing global namespace\r
101 - merge timers with sleeping tasks\r
102 - what about tasks and timers between image restarts\r
103 - there is a problem with hashcodes of words and bootstrapping\r
104 - delegating generic words with a non-standard picker\r
105 - code gc\r
106 \r
107 + i/o:\r
108 \r
109 - i/o tasks hanging around\r
110 - faster stream-copy\r
111 - reading and writing byte arrays\r
112 - stream server can hang because of exception handler limitations\r
113 - better i/o scheduler\r
114 - utf16, utf8 encoding\r
115 - if two tasks write to a unix stream, the buffer can overflow\r