Bugs item #753780, was opened at 2003-06-13 07:24
Message generated for change (Settings changed) made by simonpj
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=108032&aid=753780&group_id=8032
Category: Compiler (Type checker)
Group: None
>Status: Closed
>Resolution: Fixed
Priority: 5
Submitted By: Simon Peyton Jones (simonpj)
Assigned to: Nobody/Anonymous (nobody)
Summary: (->) used prefix doesn't work with unboxed kinds
Initial Comment:
This fails, but should succeed
f :: (->) Int# Int#
f x = x
-- Here's the comment from TypeRep:
--
-- funTyCon = mkFunTyCon funTyConName
-- (mkArrowKinds [liftedTypeKind,
liftedTypeKind]
-- liftedTypeKind)
-- You might think that (->) should have type (? -> ? ->
*), and you'd be right
-- But if we do that we get kind errors when saying
-- instance Control.Arrow (->)
-- becuase the expected kind is (*->*->*). The trouble
is that the
-- expected/actual stuff in the unifier does not go
contra-variant, whereas
-- the kind sub-typing does. Sigh. It really only
matters if you use (->) in
-- a prefix way, thus: (->) Int# Int#. And this is
unusual.
----------------------------------------------------------------------
>Comment By: Simon Peyton Jones (simonpj)
Date: 2003-12-31 16:58
Message:
Logged In: YES
user_id=50165
Fixed at last.
----------------------------------------------------------------------
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=108032&aid=753780&group_id=8032
_______________________________________________
Glasgow-haskell-bugs mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs