Question about uniqueness typing in Clean

Kris Aerts Kris.Aerts@cs.kuleuven.ac.be
Fri, 19 Apr 1996 09:58:03 +0200



> > I have a question about uniqueness typing in Clean

...

> This let! is the problem.  In the Clean1.0.3 release let! does not handle
> observing references properly.  Pattern matching works, though.

Doesn't this apply to the if-construct too. I've noticed that the
uniqueness information conflicted if I used an if, e.g. in

change file  = if whatever_test file
		  fwritec 'c' file;

This is a uniqueness preserving function, isn't it? The OS/2 compiler
reports conflicting uniqueness information.

Using a second function with pattern matching helped, e.g.

change file = change2 whatever_test file;

change2 True file = file;
change2 False file = fwritec 'c' file;


I am right in my observation, or is this mine misunderstanding?

Kris