About the visibility and mouse behavior on Mac I can't say much, & must
leave it to you to suggest changes.
If grid converts the Mac rightclick to a CTRL-click, that's great.
The idea is, results and verbs can be 'selected for detail'. When a
result is selected, it shape is shown, and selectors are provided to
cull inputs down to a single cell. When a verb is selected (possible
only if the verb acts on multiple cells), you get a selector to choose a
(set of) cells.
Clicking toggles selection. CTRL-click causes the same
selection/unselection to be performed for the node and all its ancestors.
If I can figure out how to use GTK (or better, if someone who knows GTK
wants to get involved in the project), this can become much more intuitive.
The "frame=3" cell that you saw is part of the selector. The selector
itself is the brighter green cell to the left. When you enter a value
into the bright-green cell, the "frame=3" will be replaced by the
selected value, and other intermediate results will become visible.
I use the grid for editing selectors. Whatever the grid standard for
editing on the Mac is, it should work.
Regarding the multiple shapes: the verb that is being worked on is
((,:,1"1)%+/@[)
The result labeled C is two results simultaneously: first, it is the
result of the rank=0 verb %, with shape I designate as '3 3/' to mean
frame=3 3, cell shape=empty. But second, it is the result of the fork,
which I write as '/3 3' to indicate frame=empty, result shape 3 3.
When you have something like
u@v@w n
the display can show as many as 3 shapes, since at the same point the
verbs u, u@v, and u@v@w are completing simultaneously. '*' is added at
the correct point to show you where fill is added. Compare
ds '#@:> a'
and
ds '#@> a'
I don't tell you which axis was filled, as you suggest, but I guess I
ought to.
Henry Rich
On 12/30/2012 3:11 PM, Brian Schott wrote:
On Sun, Dec 30, 2012 at 12:53 PM, Henry Rich <[email protected]> wrote:
A, B, and C (light blue) are labels/references. In a better GUI they would
be shown with arrows, if possible. In the first use, the data is shown,
with the label (say, A) in the cell below; the other As refer to the same
data. If you click on a reference the letter is replaced by the data.
No right-clicks are defined.
There is a small misunderstanding. On the Mac a right-click is the
same as a control click in my experience.
@ @: & &: [ ] ~ hook fork all have no representation in the display. I am
not trying to show what the J sentence IS, but what it is DOING. So, in
a +@:* b
you will see a, b, *, and +, connected in the correct order. @: will not be
visible. This is very different from Roger's display.
There is a selectbox to control the maximum and minimum font sizes.
The new version does react to these sizes.
But, on the Mac, those buttons are almost unreadable, but the popup
menus they trigger are very readable.
If you have a setup like
a =. 'a';'b';'cd'
ds '*@#@> a'
You will see
a
+-+-+--+
|a|b|cd|
+-+-+--+
#
*
1 1 1
You see the inputs and the final result, but you don't see the result of >
because the stack *@#@> has rank 0 and must be applied to individual cells
independently. To look deeper, CTRL-click the result
(1 1 1). This calls for detail in that result and everything that
contributes to it. To begin with, it shows the shapes of the results.
This is the first example with an * in the shape and I see that means
the dimension has been filled. That is helpful.
When I ctrl-click on the last cell (1 1 1) I get more than I get with
just a click. And the "frame=3" cell is light green. Is that as
planned?
Going back to your first example, I notice that result C has 2 rows of
shape: 3 3/ and /3 3 . Other shapes have just the first row 3 3/.
What's that about?
It will also expose a 'selector', a green box where you can select which
cell of a you would like to work on. double-click the selector, and enter,
say, 1. Press ENTER. Now you see the results of all the verbs on cell 1.
(back at '*@#@>a'):
I see a (dark)green 'selector', but double-clicking is ignored and so
I cannot try entering anything.
This selection can continue through multiple levels.
As the grid is arranged, the results are in the right-hand column, and the
verbs are one column to the left of that. If you have monads, that's all
you need: two columns. For dyads, the x operand comes in to the left of the
verb, spaced as required to leave an empty column between stacks of monads.
Hooks and forks use the label/reference mechanism described above to handle
the repeated operands.
Verbs are either expandable or unexpandable. An expandable verb is one
whose outputs are known from context to be collectable into a result. For
example, in
a
the > is expandable, because you have implied that the results of the
individual cells can be assembled into a single result. In
#@> a
the > is not expandable, but the # is. In
#@:> a
both verbs are expandable.
You can click an expandable verb to look at individual cells. I don't
distinguish expandable/unexpandable in the display; if that's a nuisance I
can fix it easily, if we can come up with a good visual effect.
Henry Rich
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm