probably most efficient
authorjim <jim@web>
Tue, 24 Feb 2015 23:39:41 +0000 (18:39 -0500)
committerLinux User <ikiwiki@localhost.members.linode.com>
Tue, 24 Feb 2015 23:39:41 +0000 (18:39 -0500)
exercises/assignment3_answers.mdwn

index 92da088..0db7c26 100644 (file)
@@ -57,7 +57,7 @@
 
     > I'm not sure which of the two solutions presented here is better. The one given in the hint traverses the list only once; whereas the one gotten by reversing the list and getting the last member of the result traverses the list twice. But the former strategy does more complicated stuff at each step of the traversal (both conceptually and more applications), so in the end it might be computationally "cheaper" to use the latter strategy.
 
 
     > I'm not sure which of the two solutions presented here is better. The one given in the hint traverses the list only once; whereas the one gotten by reversing the list and getting the last member of the result traverses the list twice. But the former strategy does more complicated stuff at each step of the traversal (both conceptually and more applications), so in the end it might be computationally "cheaper" to use the latter strategy.
 
-    > Here is yet a third solution:
+    > Here is yet a third solution, which is probably the most efficient:
 
     >     let box = \a. \v. v a in 
     >     let left_head = \xs. xs (\b x. (K (b (K x)))) (box err) I in
 
     >     let box = \a. \v. v a in 
     >     let left_head = \xs. xs (\b x. (K (b (K x)))) (box err) I in