I have an implementation of a "tree builder" interface here:

http://tangentstorm.github.io/apljk/treebuild.ijs.html

Rather than using a boxed array to build a tree, it uses a single
array to represent the parent links for all nodes. The actual data
can be stored in any number of parallel arrays.

I also have a very simple graph database (triple store) here:

https://github.com/tangentstorm/syndir/blob/master/graphdb.ijs

Also an implementation of s-expressions (which you can stick
in a ( 0 : 0 ) block.

https://github.com/tangentstorm/syndir/blob/master/boxer.ijs


On Tue, Feb 9, 2016 at 3:59 AM, Matthew Baulch <[email protected]>
wrote:

> Suppose I wish to construct a complex, non-regular deeply nested structure:
> to model some inherently non-linear system. A natural approach (for me,
> anyhow) is to construct a library of combinators, or a domain specific
> language, with which to specify the (boxed) structure.
>
> J rises easily to the task, and before long I'm looking at long function
> trains of the form
>
> myStruct =: c0 p0 c1 p1 c2 p2 ... cN pN
>
> where the ci are (combinator) verbs, and the pj are (parameter) nouns.
> Nice. Easy.
>
> Only trouble is, N may be large and J prefers such statements to sit on a
> single line. Correct? I can split my definition:
>
> msPartA =. .....
> msPartB =. .....
> .....
> msPartX =. .....
> myStruct =: msPartA msPartB .... msPartX
>
> though this feels awkward. The most obvious issue is that the PartA, ...,
> PartX are distracting; unless of course I can find a natural way of
> splitting and naming them. Ideally, the parts should be as close to a
> comfortable line width as possible. Again, awkward. If myStruct1 and
> myStruct2 have the same partitioning scheme but myStruct2 (for instance) is
> much larger than myStruct1, there will be many sparsely, or many
> overpopulated lines. Awkward too.
>
> I love J. It handles complex regular data so elegantly. How can I bring
> similar elegance to irregular data? Can my combinators be rescued, or
> should I use another approach?
> ----------------------------------------------------------------------
> For information about J forums see http://www.jsoftware.com/forums.htm
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to