flattening

Henry Cejtin henry@research.nj.nec.com
Wed, 12 May 1999 19:27:09 -0400


I'm confused about the last paragraph.  I agree that it is surprising that
you can eliminate tuples entirely once you go to N-ary functions and
constructors, but it seems that to avoid blow up (in the sense of unbounded
extra allocation) you need to know that dynamically you don't use it in
such things.  Not statically.
Also, you inc the count on selects?  This would seem to break
	fun z =
	   let val x = #1 z	# first use of z
	       val y = #2 z	# z is now MANY
	       ...

Have I missed something?