flattening

Henry Cejtin henry@research.nj.nec.com
Thu, 13 May 1999 16:59:30 -0400


AHHH.   Suresh  and I just talked about it, and I realized that you were most
wise (in your mail) and you DO have to increment the count  for  select.   If
you don't, then consider the code

        let val x = (1, y)
            val y1 = #2 x
            val y2 = #2 x
        in (y1, y2)
        end

Note,  that  the  counts  on  x,  y,  y1  and  y2 are all 1, but this code is
equivalent to
        (y, y)
Bad.