Jig – a way of looking at J

Initially, I had created a tree type view of J sentences. The sentence that I used was +/\@}:@(-//.@('()'"_ =/ ])), a monadic verb that returns the depth of a parenthesized sentence. It had enough complexity that it gave me a chance to see if the representation could handle some of the curves that this sentence threw at it. It could. The text box at the top is where the editing takes place and the resulting tree changes with each change to the sentence. Once the sentence is in place the tree gives an opportunity to click on different parts that then provide a zoomed in view to look at specific input and output  values for the part of the tree selected. The topographic representation under the sentence also allows the different parts of the sentence to be selected. The downside of this is that the tree representation takes up too much space and actually requires more nodes than are necessary to show the structure.

Jigtree

 

Tree view of the J sentence

 

The next option is based on nested set containers that are able to retain the structure of the tree with reduced complexity. This also allows the display itself to function as the zoomed in portion so that there is more space for the entry of the x and y arguments. The result in this case is three different representations depending on whether the resulting verb is monadic, dyadic or has yet to have its arguments set (ambivalent). It also has the topographic representation that lines up with the sentence. Downside is that it is still a bit complex and seems to have some distance between the meaning of the sentence and its representation. The topographic view also has colours that correspond to the types of speech for the operators. This is noticeable as the colours change between monadic, dyadic and ambivalent instances.

JigContainerAmbi

Set container view of J sentence with no arguments set (ambivalent)


JigContainerDyadic

Set container view of J sentence with two arguments (dyadic).

JigcontainerMonadic

Set container view of J sentence with one argument (monadic).

It was during the process of developing the set container versions that I realized that the more graphic views of set container and tree display were not really providing any information that the topographic view did not also contain. Additionally, the topographic display has a correspondence to the original sentence that provides a stronger sense of connection to the structure for the observer. An additional idea that has not yet been developed is that there could be a slider that allows the sentence evaluation advance step by step as the sentence is parsed. The fact that the structure is not quite so visual when in topographic also gives the observer a bit more latitude in considering the temporal in addition to the spacial components of the sentence execution.

JigtopoDyadic

Topographic view of J sentence with two arguments (dyadic).

JigtopoMonadic

Topographic view of J sentence with one argument (monadic).

JigtopoAmbi

Topographic view of J sentence with no arguments set (ambivalent).

As a preview of coming events, it is my intention to develop this a little further using SVG for the topographic display and then having the inputs and outputs of each component of the partial result showing up as the different areas are clicked or as the slider progresses through the parsing of the sentence. Comments as always are welcome and future posts will likely trace the issues that arise as this design is implemented.

Advertisements

2 thoughts on “Jig – a way of looking at J

    • Hi John,

      Actually at this point the displays are just pretty art (created by hand in Keyonte), but the plan is to use the JHS environment and have the displays generated using SVG as this provides a shape that is clickable. I will be using the standard foreigns to generate the type of the different primitives and plan to use the parenthesis view 5!:6 to generate the tree levels and atomic representation 5!:1 to generate the order of execution. We will see how successful I am with that. Mostly I am just taking information that J can provide and packaging it in a way that is visually more accessible.

      Thanks again for your comments.

      Cheers, bob

Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s