
On Fri, Oct 29, 2010 at 5:43 PM, Ian Lynagh
On Fri, Oct 29, 2010 at 10:41:38PM +0100, Ian Lynagh wrote:
On Fri, Oct 29, 2010 at 05:25:15PM -0400, David Menendez wrote:
map ord "foo" == #map Char Int ord "foo"
I guess this would only work with explicit foralls, otherwise how do you know which type is the Int and which is the Char?
You can do it based on the order they first appear in the type.
Actually, maybe it's not so simple once MPTCs, FDs and ATs are mixed in.
But if nothing else, requiring explicit foralls would work, anyway.
There's also alphabetical order.
What about stuff like foo :: Int -> forall b. b -> b? Currently, that
gets treated as foo :: forall b. Int -> b -> b, but maybe that's not
desirable with explicit type arguments. (I guess that's an argument
for having a different syntax for type application.)
--
Dave Menendez