Hi John/all.

I still have some Git exercises and maintenance to do tonight, but I tripped
over this http://planet.factorcode.org/ and want to see where it might lead.

The syntax highlighting is interesting to me.  I'm wondering whether we can
change the Listener GUI into a color vocab browser that focuses more on code
and less on the navigation links and doc and examples, as in the current
Browser. There is a place for those too, obviously, but I'm trying to change
the emphasis a little to make development faster and to reduce the amount of
typing of words into the Listener.

One possibility:  Split the Listener vertically, placing the usual Listener
command line progression on, say, the right side, and another pane on the
left. The idea is that, when you need to know what a word means, because you
are trying to use it, or are wondering whether you even have the right word
or concept in mind, you can type it into the Listener, and instead of doing

\ some-word see

you could instead dynamically search for the word's definition by either
clicking on the word or just hovering over it.  I'm thinking that if you
access and display the word's definition on hover-over, instead of on
click-on, you could rapidly scan colored formatted word definitions in the
left pane.  You could have, say, a line of words entered into the Listener,
scan over them left to right (or whichever way) with your mouse, looking at
their color definitions flash through the pane on the left.  When you hit a
word that is especially interesting/confusing, you click on it to lock that
definition into the left pain.  You can now wander up to the definition in
the left pane with your mouse and continue the process of scanning over its
words, drilling down toward primitives, until you are convinced you
understand enough to complete the expression at hand.  Every time you want
to drill, stop scanning with your mouse and click on the interesting word to
popup yet another pane below the one you were in when you clicked on the
interesting word. Or, you could stack your definition windows on top of each
other, as you drill, and provide a context menu "back" command, or just use
some forward/backward arrows in the GUI to go back and then go forward
again, just as you would in the HTML help Browser.  So why do this?

If you are in a coding app and not a browsing app, you could not only scan
and study as you drill, you can also scan and edit the command line you are
building.  Maybe Ctrl-click on a word to append it to the end of the
Listener's command line.  (Maybe the other way:  Ctrl-click for doc and
click for appending.)

I want to get around faster, and to assemble correct Factor expressions, the
first time.  I don't want to see an example for a word before I see the code
for the word.  The reason for this is subtle but important:  I want to
understand the words increasingly quickly when I read them and their
definitions, and not by remembering necessarily several favorite examples,
which memories I will acquire anyway if I can use the word successfully in
my own word definitions a few times.  Having a bad time reading words
creates a drive to improve the words, especially because you are now reading
definitions more often than examples (which I think I would want to put in a
nearby pane or in an examples tab in the same pane).  I don't want to use
English explanations and examples as crutches for reading Factor fluently.
I want to write better words and patterns of them.  Being required to read
definitions first may be a healthy source of pressure in that direction. 
 
I'm also thinking that the stack-effect data could be more binding than it
currently is.  I noticed while compiling some new words that the compiler
will infer a stack-effect, and tell you when you've written it incorrectly.
This looks almost binding.  So my suggestion/question is:  Can we use the
stack effects to check at least the superficial (type- and count-based)
correctness of a forth expression, as it is assembled on a Listener command
line?

Also, concerning literals and stack objects, when you mouse-scan those, you
could get an inspector, also on the left in its own pane, under your last
viewed definition pane.  Click on the literal or stack object, and your
inspector locks in place for further study and drilling.  Similarly provide
arrows to go back and forth through your stacked inspectors, so that you
don't clutter the screen with windows, thereby created larger saccades,
which often reduce thinking- and coordination- efficiency (at least for me).

I'm open to suggestions on any aspect of this, but my overall objective is
to integrate the contents and value of the help Browser into an expanded
Listener GUI, so that coding and learning are faster, because all the code
is alive, connected, colored, formatted, and append-able at the Listener's
prompt, with minimal GUI gesturing and less typing.

Thoughts anyone?


Shaping


------------------------------------------------------------------------------
Centralized Desktop Delivery: Dell and VMware Reference Architecture
Simplifying enterprise desktop deployment and management using
Dell EqualLogic storage and VMware View: A highly scalable, end-to-end
client virtualization framework. Read more!
http://p.sf.net/sfu/dell-eql-dev2dev
_______________________________________________
Factor-talk mailing list
Factor-talk@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/factor-talk

Reply via email to