]> gitweb.factorcode.org Git - factor.git/commitdiff
Dataflow visualizer fixes
authorslava <slava@factorcode.org>
Sat, 30 Sep 2006 04:03:46 +0000 (04:03 +0000)
committerslava <slava@factorcode.org>
Sat, 30 Sep 2006 04:03:46 +0000 (04:03 +0000)
TODO.FACTOR.txt
library/compiler/inference/dataflow.factor
library/ui/tools/dataflow.factor
library/ui/tools/operations.factor

index d769b82c4e055044e4dada95c7cc7c7d4af03e4c..6c667a998fe445dc38761b0c88eefab1aebc60b3 100644 (file)
@@ -1,19 +1,13 @@
 - auto-invoke code gc
-- code gc sig11
-- cocoa: support real redefinition
-- 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 
-]
-- prettier printing of hashtable literals, alists, cond, ...
-- ui quick start doc
-- x11: scroll up/down wiggles caret
-- slider needs to be modelized
-- more compact relocation info
-- hashed generic method dispatch
+- signal 4 on datastack underflow on mac intel??
+- fix alien-callback/SEH bug on win32
 
 + ui:
 
+- nested presentation mouse over is not right
+- ui quick start doc
+- x11: scroll up/down wiggles caret
+- slider needs to be modelized
 - [ ] write in the UI breaks stuff
 - some way of intercepting all gestures
 - pane output in UI should use less memory
@@ -28,7 +22,6 @@
   - keyboard navigation
 - ui browser: show currently selected vocab & words
   - keyboard-navigatable list gadget of some kind
-- tuple= in dataflow view
 - auto-update browser and help when sources reload
 - how do we refer to command shortcuts in the docs?
 - figure out if we need both set-model and set-model*
@@ -43,7 +36,6 @@
   - double/triple click
   - autoscroll
   - transpose char/word/line
-  - drag scroll
   - more efficient multi-line inserts
   - write "foo| " and put caret at | then select word element: selects
     space
@@ -77,6 +69,8 @@
 
 + compiler/ffi:
 
+- more compact relocation info
+- cocoa: support real redefinition
 - problem if major gc happens during relocation
   - in fact relocation should not cons at all
 - stdcall callbacks
 
 + misc:
 
-- signal 4 on datastack underflow on mac intel??
-- fix alien-callback/SEH bug on win32
+- 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 
+]
+- prettier printing of hashtable literals, alists, cond, ...
 - minor GC takes too long now, we should card mark code heap
 - buffer-ptr should be an alien
 - swap nappend ==> nappend
index dc08244ba118abf5365561d3833e146ddefe7eb0..fd4212da29ebaa9a2df231a48868ca835b019b6a 100644 (file)
@@ -96,7 +96,7 @@ C: #dispatch make-node ;
 
 TUPLE: #merge ;
 C: #merge make-node ;
-: #merge ( -- node ) meta-d get clone out-node <#merge> ;
+: #merge ( -- node ) meta-d-node <#merge> ;
 
 TUPLE: #terminate ;
 C: #terminate make-node ;
index 29203aaaf1e614b8e9131464c80f1dbe096691dd..a31600e4e88deb99d9b744ee4bef2c35c3a152cc 100644 (file)
@@ -148,9 +148,9 @@ DEFER: (compute-heights)
 : (compute-heights) ( node -- )
     [
         d-height get over 2array ,
-        dup compute-child-heights
         dup node-out-d length over node-in-d length -
         d-height [ + ] change
+        dup compute-child-heights
         node-successor (compute-heights)
     ] when* ;
 
index 53e99bcdc51cea313973ee35c19337f8b5427d45..6a944e1834934750cc4d5c39521d15ba649590fe 100644 (file)
@@ -105,6 +105,12 @@ M: operation invoke-command ( target operation -- )
     { +listener+ t }
 } define-operation
 
+[ word? ] H{
+    { +name+ "Word dataflow" }
+    { +keyboard+ T{ key-down f { A+ } "d" } }
+    { +quot+ [ word-def show-dataflow ] }
+} define-operation
+
 ! Vocabularies
 [ vocab-link? ] H{
     { +mouse+ T{ button-up f f 1 } }
@@ -166,7 +172,7 @@ M: operation invoke-command ( target operation -- )
 } define-operation
 
 [ quotation? ] H{
-    { +name+ "Dataflow" }
+    { +name+ "Quotation dataflow" }
     { +keyboard+ T{ key-down f { C+ A+ } "d" } }
     { +quot+ [ show-dataflow ] }
     { +listener+ t }
@@ -187,18 +193,20 @@ M: operation invoke-command ( target operation -- )
 } define-operation
 
 ! Dataflow nodes
-[ word? ] H{
-    { +name+ "Dataflow" }
-    { +keyboard+ T{ key-down f { A+ } "d" } }
-    { +quot+ [ word-def show-dataflow ] }
-} define-operation
 
 [ [ node? ] is? ] H{
     { +mouse+ T{ button-up f f 1 } }
-    { +name+ "Quotation dataflow" }
+    { +name+ "Show dataflow" }
     { +quot+ [ dataflow-gadget call-tool ] }
 } define-operation
 
+[ [ node? ] is? ] H{
+    { +mouse+ T{ button-up f { S+ } 3 } }
+    { +name+ "Inspect" }
+    { +quot+ [ inspect ] }
+    { +listener+ t }
+} define-operation
+
 ! Define commands in terms of operations
 
 ! Tile commands