I think this idea is implementable. I am spending all my free time on
dissect, or I would work on it now. The hard decisions are in the UI.
Henry Rich
On 6/5/2013 10:46 AM, bob therriault wrote:
Thanks Linda,
I agree that a big part of understanding a boxed structure is the way you use
the tools that you have to deconstruct it. I think Henry touches on this as
well in his original post when he talks about the tools that might be available
to probe the noun. So it seems to be a combination of deconstruction tools and
representation that need to be generalized enough to allow utility across a
range of situations. It is times like this that I really come to appreciate the
simplicity/elegance of the J textual solution to this. I think the goal is to
increase the power of the tools and at the same time keep them out of our way.
When we do get this tool up and running, I propose we call it J.A.R.V.I.S. * :-)
I also would feel a bit more comfortable with this thread moving to the chat
forum as I don't see it being quite ready for programming yet.
Cheers, bob
*J.A.R.V.I.S. (short for Just a Rather Very Intelligent System) appears as Tony
Stark's A.I. for his armour. http://en.wikipedia.org/wiki/Edwin_Jarvis
On 2013-06-05, at 12:57 AM, Linda Alvord wrote:
This script helped save my sanity...
2 2$8;9
(<4;(<7;8)); 2 2$ 8;9
(< 5;6);(<4;<7;8); 2 2$ 8;9
4 ; (< 5;6);(<4;(<7;8)); 2 2$ 8;9
3; 4 ; (< 5;6);(<4;(<7;8)); 2 2$ 8;9
2 3 2 $ 3; 4 ; (< 5;6);(<4;(<7;8)); 2 2$ 8;9
Linda
-----Original Message-----
From: [email protected]
[mailto:[email protected]] On Behalf Of bob therriault
Sent: Wednesday, June 05, 2013 2:27 AM
To: [email protected]
Subject: Re: [Jprogramming] Request for a tool: noun explorer
Hi Henry,
I have spent a fair amount of time thinking about how to represent
multidimensional arrays visually. It is a bit tricky especially when it comes
to 0's within the shape. I think that I have worked out most of that here:
http://bobtherriault.wordpress.com/2012/03/30/augmented-view-of-arrays-redux/
But your proposed tool involves something that I had not yet considered and
that is boxed structures. For most of the structures that I have seen it is
possible to do this in a topographic type layout such as the boxed
representation of a verb.
t=:+/\@}:@(-//.@('()'"_ =/ ]))
t
┌────────────────┬─┬─────────────────────────────────┐
│┌─────────┬─┬──┐│@│┌──────────┬─┬──────────────────┐│
││┌─────┬─┐│@│}:││ ││┌─────┬──┐│@│┌────────┬─────┬─┐││
│││┌─┬─┐│\││ │ ││ │││┌─┬─┐│/.││ ││┌──┬─┬─┐│┌─┬─┐│]│││ ││││+│/││ ││ │ ││ ││││-│/││
││ │││()│"│_│││=│/││ │││ │││└─┴─┘│ ││ │ ││ │││└─┴─┘│ ││ ││└──┴─┴─┘│└─┴─┘│ │││
││└─────┴─┘│ │ ││ ││└─────┴──┘│ │└────────┴─────┴─┘││ │└─────────┴─┴──┘│
│└──────────┴─┴──────────────────┘│
└────────────────┴─┴─────────────────────────────────┘
The challenge for me is when you allow multidimensional boxes.
2 3 4 $ 3 ; 4 ; (< 5;6)
┌─────┬─────┬─────┬─────┐
│3 │4 │┌─┬─┐│3 │
│ │ ││5│6││ │
│ │ │└─┴─┘│ │
├─────┼─────┼─────┼─────┤
│4 │┌─┬─┐│3 │4 │
│ ││5│6││ │ │
│ │└─┴─┘│ │ │
├─────┼─────┼─────┼─────┤
│┌─┬─┐│3 │4 │┌─┬─┐│
││5│6││ │ ││5│6││
│└─┴─┘│ │ │└─┴─┘│
└─────┴─────┴─────┴─────┘
┌─────┬─────┬─────┬─────┐
│3 │4 │┌─┬─┐│3 │
│ │ ││5│6││ │
│ │ │└─┴─┘│ │
├─────┼─────┼─────┼─────┤
│4 │┌─┬─┐│3 │4 │
│ ││5│6││ │ │
│ │└─┴─┘│ │ │
├─────┼─────┼─────┼─────┤
│┌─┬─┐│3 │4 │┌─┬─┐│
││5│6││ │ ││5│6││
│└─┴─┘│ │ │└─┴─┘│
└─────┴─────┴─────┴─────┘
2 3 2 $ 3 ; 4 ; (< 5;6);(<4;(<7;8)); 2 2$ 8;9 ┌───────────┬───────────┐
│3 │3 │
│ │ │
│ │ │
│ │ │
│ │ │
├───────────┼───────────┤
│4 │4 │
│ │ │
│ │ │
│ │ │
│ │ │
│ │ │
│ │ │
└───────────┴───────────┘
┌───────────┬───────────┐
│┌─────┐ │┌─────┐ │
││┌─┬─┐│ ││┌─┬─┐│ │
│││5│6││ │││5│6││ │
││└─┴─┘│ ││└─┴─┘│ │
│└─────┘ │└─────┘ │
├───────────┼───────────┤
│┌─────────┐│┌─────────┐│
││┌─┬─────┐│││┌─┬─────┐││
│││4│┌─┬─┐│││││4│┌─┬─┐│││
│││ ││7│8││││││ ││7│8││││
│││ │└─┴─┘│││││ │└─┴─┘│││
││└─┴─────┘│││└─┴─────┘││
│└─────────┘│└─────────┘│
└───────────┴───────────┘
┌───────────┬───────────┐
│8 │9 │
│ │ │
│ │ │
│ │ │
│ │ │
├───────────┼───────────┤
│8 │9 │
│ │ │
│ │ │
│ │ │
│ │ │
│ │ │
│ │ │
└───────────┴───────────┘
┌───────────┬───────────┐
│3 │3 │
│ │ │
│ │ │
│ │ │
│ │ │
├───────────┼───────────┤
│4 │4 │
│ │ │
│ │ │
│ │ │
│ │ │
│ │ │
│ │ │
└───────────┴───────────┘
┌───────────┬───────────┐
│┌─────┐ │┌─────┐ │
││┌─┬─┐│ ││┌─┬─┐│ │
│││5│6││ │││5│6││ │
││└─┴─┘│ ││└─┴─┘│ │
│└─────┘ │└─────┘ │
├───────────┼───────────┤
│┌─────────┐│┌─────────┐│
││┌─┬─────┐│││┌─┬─────┐││
│││4│┌─┬─┐│││││4│┌─┬─┐│││
│││ ││7│8││││││ ││7│8││││
│││ │└─┴─┘│││││ │└─┴─┘│││
││└─┴─────┘│││└─┴─────┘││
│└─────────┘│└─────────┘│
└───────────┴───────────┘
┌───────────┬───────────┐
│8 │9 │
│ │ │
│ │ │
│ │ │
│ │ │
├───────────┼───────────┤
│8 │9 │
│ │ │
│ │ │
│ │ │
│ │ │
│ │ │
│ │ │
└───────────┴───────────┘
I will think about this for a while but any hints that you might have about how
to represent these structures that allows the user to find a greater
understanding while manipulating would be welcome. I'll post as I come up with
ideas. The actual representation may be done in SVG or perhaps a 3-dimensional
space such as three.js http://threejs.org/examples/webgl_geometries.html
Cheers, bob
On 2013-06-04, at 6:51 PM, Henry Rich wrote:
I am thinking of a tool that would really be helpful, and I hope someone will
write it. It would be called the Noun Explorer.
It would receive a noun, of any type, shape, boxing, etc., and it would display
the noun, with enough selectors and clicks and what-all to allow the user to
understand the noun. It could also allow some level of search, possibly
editing, and possibly allow sentences to be run against parts of the noun.
This can be a pain with heavily boxed nouns.
I would use such a tool in dissect. Currently I launch a grid to show large
nouns, but grid is really designed for flat arrays and doesn't display boxes
well. I have thought of improving the display in grid, but doing a first-class
job would require more - at least supporting grids nested in grids, not a bad
idea but not something I want to take on right now.
If anyone wants to do a service to J and write the Noun Explorer, I'll be your
first tester.
Henry Rich
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm