Tue, 8 May 2001 08:25:39 -0700, Simon Peyton-Jones <[EMAIL PROTECTED]> pisze:

> I was meaning in the translation into System F of the program.
[...]

Ah, OK, sorry.

More strange behavior of Hugs (none of this is allowed by ghc):

  \(x :: a)     (y :: b) -> x+y -- not allowed
  \(x :: a) -> \(y :: b) -> x+y -- allowed

  f :: Int->Int->Int; f    x = \(y::a) -> x+y -- not allowed
  f :: Int->Int->Int; f = \x    (y::a) -> x+y -- allowed

I guess that the constraint that a type is not more specific than a
pattern type signature tells is checked once at some point of time. It
is rejected only when the type inference determined the more specific
type before this check was performed, but it might be determined later
which is not caught. I would remove the check altogether.

-- 
 __("<  Marcin Kowalczyk * [EMAIL PROTECTED] http://qrczak.ids.net.pl/
 \__/
  ^^                      SYGNATURA ZASTĘPCZA
QRCZAK


_______________________________________________
Haskell mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/haskell

Reply via email to