|
[ ghc-Bugs-753780 ] (->) used prefix doesn't work with unboxed kinds: msg#00062lang.haskell.glasgow.bugs
Bugs item #753780, was opened at 2003-06-13 07:24 Message generated for change (Tracker Item Submitted) made by Item Submitter 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: Open Resolution: None 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. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=108032&aid=753780&group_id=8032
|
|
| <Prev in Thread] | Current Thread | [Next in Thread> |
|---|---|---|
| Previous by Date: | [ ghc-Bugs-753777 ] Unboxed tuples as values, SourceForge.net |
|---|---|
| Next by Date: | RE: locating package.conf, Simon Marlow |
| Previous by Thread: | [ ghc-Bugs-753777 ] Unboxed tuples as values, SourceForge.net |
| Next by Thread: | [ ghc-Bugs-753839 ] forkProcess does not terminate main threads, SourceForge.net |
| Indexes: | [Date] [Thread] [Top] [All Lists] |
| News | FAQ | advertise |