Here's a link to pictures I took at APL2007:
http://www.flickr.com/gp/[EMAIL PROTECTED]/wD387w .
A number of them are of Guy Steele's keynote talk in which he raised a
number of issues; one thing he
pointed out is that APL originally dealt with trees.

However, upon reading the section in "A Programming Language" dealing with
trees, it looks as though
trees are represented by using matrixes.  A directed graph is shown
represented as a boolean matrix with
a one in the row and column where node "row number" goes to node "column
number".

What are called "trees" - that is "a graph...which contains no circuits and
has at most one branch
entering each node is called a tree." (p. 46) can be represented by a "full
left list" or "full right list" matrix.

I'll show examples below but a variable width font messes them up so I've
also put them on the J wiki at
http://www.jsoftware.com/jwiki/DevonMcCormick/APLTree .

Node Representation Index Representation

n1----n2---n3 1----11----111
\ | \ |
n4 n5---n6 12 112---1121
|\ |\
| \ | \
n7 n8 1123 1122

n9--------n10---n11 2--------21---211
|\ |\ |\ |\
| \ | \ | \ | \
| \ | \ | \ | \
| \ | \ | \ | \
n12 n13 n14 n15 23 22 213 212

Full left list matrix Full right list matrix
Node I' Node I''
n1 1 . . . n1 . . . 1
n2 1 1 . . n9 . . . 2
n3 1 1 1 . n2 . . 1 1
n4 1 2 . . n4 . . 1 2
n5 1 1 2 . n10 . . 2 1
n6 1 1 2 1 n13 . . 2 2
n7 1 1 2 3 n12 . . 2 3
n8 1 1 2 2 n3 . 1 1 1
n9 2 . . . n5 . 1 1 2
n10 2 1 . . n11 . 2 1 1
n11 2 1 1 . n15 . 2 1 2
n12 2 3 . . n14 . 2 1 3
n13 2 2 . . n6 1 1 2 1
n14 2 1 3 . n8 1 1 2 2
n15 2 1 2 . n7 1 1 2 3

-- 
Devon McCormick, CFA
^me^ at acm.
org is my
preferred e-mail
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to