[clean-list] Strange uniqueness

John van Groningen johnvg at cs.ru.nl
Tue Sep 13 17:18:55 MEST 2005


Erik Zuurbier wrote:

>::	*Local =	{a :: *File, d :: *File}
..
>//	What I do NOT understand is that it can also be
>solved by putting the {ls} and {d} patterns on separate lines:
>//	Can
>someome explain?
>
>fun3 :: (PSt *Local) -> PSt *Local
>fun3 pst=:{ls=
>{d}}
>	# pst=:{ls}	= pst
>	= {pst & ls = {ls &  a=d}}

Yes, this happens because of a bug in the reference analysis of nested patterns
in the compiler. This bug has been fixed and the new compiler now rejects
this function.

Kind regards,

John van Groningen


More information about the clean-list mailing list