Merge branch 'pryor'
authorJim Pryor <profjim@jimpryor.net>
Mon, 4 Oct 2010 16:07:40 +0000 (12:07 -0400)
committerJim Pryor <profjim@jimpryor.net>
Mon, 4 Oct 2010 16:07:40 +0000 (12:07 -0400)
assignment4.mdwn
implementing_trees.mdwn

index 12c1ef2..6a528a2 100644 (file)
@@ -64,10 +64,14 @@ return later in the term to the problem of determining when two trees have the
 same fringe. For now, one straightforward way to determine this would be:
 enumerate the fringe of the first tree. That gives you a list. Enumerate the
 fringe of the second tree. That also gives you a list. Then compare the two
-lists to see if they're equal. (You just programmed this above.)
+lists to see if they're equal. 
+
+Write the fringe-enumeration function. It should work on the
+implementation of trees you designed in the previous step, and it
+should make use of the list comparison function you wrote for question
+2.  Thus you'll have to make sure you only use Church numerals as the
+labels of your leaves, though nothing enforces this self-discipline.
 
-Write the fringe-enumeration function. It should work on the implementation of
-trees you designed in the previous step.
 </OL>
 
 
index f83823a..f3d076e 100644 (file)
@@ -1,6 +1,9 @@
 #Implementing trees#
 
-In [[Assignment3]] we proposed a very ad-hoc-ish implementation of trees.
+In [[Assignment3]] we proposed a very ad-hoc-ish implementation of
+trees.  It had the virtue of constructing trees entirely out of lists,
+which meant that there was no need to define any special
+tree-construction functions.
 
 Think about how you'd implement them in a more principled way. You could
 use any of the version 1 -- version 5 implementation of lists as a model.
@@ -17,7 +20,7 @@ the tree's leaves that are labeled:
         / \
        1   2 
 
-Linguists often use trees of this sort. The inner, non-leaf nodes of the
+The inner, non-leaf nodes of the
 tree do have associated values. But what values they are can be determined from
 the structure of the tree and the values of the node's left and right children.
 So the inner node doesn't need its own independent label.