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
