[GUI] I love GIO.

Simon Marlow simonmar@microsoft.com
Thu, 13 Feb 2003 09:55:56 -0000


> > Thanks for mentioning this. However, (:=3D) is a rather attractive
> > constructor to use
>=20
> Yes, indeed.
>=20
> > and I wonder if a monomorphic binding is used enoug to=20
> justify taking
> > another operator away.
>=20
> The choice between polymorphism and sharing is fundamental=20
> enough that I
> think it's worth an operator symbol (*).  Of course it=20
> doesn't need to be
> (:=3D), but it shouldn't be too weird, either.

BTW, you can specify a monomorphic binding in GHC by using a result type
signature.  eg.

	x :: a =3D ...

is a monomorphic binding for x.  The type variable 'a' need not be in
scope, although this binding brings it into scope in the body of x.

This behaviour is the result of some recent changes to the scoped type
variable extension, IIRC.  The documentation looks like it could do with
some updating.

Cheers,
	Simon