On Tuesday 06 December 2005 21:00, [EMAIL PROTECTED] wrote: > In Clean, you can (and often are required to) assign uniqueness attributes > to some parts of a function's type signature. The extended type checker > ensures that none of those parts is referred to more than once during a > single run of the program. Based on this guarantee, a function does not > have to allocate new memory at all to store a unique result but can > overwrite the unique arguments in place.
The rough equivalent to this in Haskell would be ST and STRefs, I believe. They work somewhat differently, however. > My question is - and this might better suit to Haskell -, can't uniqueness > be inferred (and exploited) automatically in many cases? I'm not sure that uniqueness is the right thing to focus on here. I see this suggestion as a special case of situations where the compiler can know that a value will never be needed after a certain point, and therefore it can be free'd instead of being garbage collected (I don't know the technical term for that). These situations are - surely - not limited to situations where the value is referred to only once. -- Robin _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe