infix type operators

Ross Paterson ross at
Tue Mar 8 11:29:19 EST 2005

The User's Guide says:

	The only thing that differs between operators in types and
	operators in expressions is that ordinary non-constructor
	operators, such as + and * are not allowed in types.  Reason:
	the uniform thing to do would be to make them type variables,
	but that's not very useful.  A less uniform but more useful thing
	would be to allow them to be type constructors.  But that gives
	trouble in export lists.  So for now we just exclude them.

Conal has pointed out that the uniform thing would be useful for
general arrow combinators:

	liftA2 :: Arrow (~>) =>
		(a -> b -> c) -> (e ~> a) -> (e ~> b) -> (e ~> c)

More information about the Glasgow-haskell-users mailing list