[GHC] #8739: ($) returning kind # no longer type checks
GHC
ghc-devs at haskell.org
Tue Feb 18 08:46:32 UTC 2014
#8739: ($) returning kind # no longer type checks
-------------------------------------+------------------------------------
Reporter: NeilMitchell | Owner:
Type: bug | Status: infoneeded
Priority: normal | Milestone: 7.8.1
Component: Compiler | Version: 7.8.1-rc1
Resolution: | Keywords:
Operating System: Unknown/Multiple | Architecture: Unknown/Multiple
Type of failure: None/Unknown | Difficulty: Unknown
Test Case: | Blocked By:
Blocking: | Related Tickets:
-------------------------------------+------------------------------------
Comment (by Simon Peyton Jones <simonpj@…>):
In [changeset:"5dd1cbbfc0a19e92d7eeff6f328abc7558992fd6/ghc"]:
{{{
#!CommitTicketReference repository="ghc"
revision="5dd1cbbfc0a19e92d7eeff6f328abc7558992fd6"
Allow ($) to return an unlifted type (Trac #8739)
Since ($) simply returns its result, via a tail call, it can
perfectly well have an unlifted result type; e.g.
foo $ True where foo :: Bool -> Int#
should be perfectly fine.
This used to work in GHC 7.2, but caused a Lint failure. This patch
makes it work again (which involved removing code in TcExpr), but fixing
the Lint failure meant I had to make ($) into a wired-in Id. Which
is not hard to do (in MkId).
}}}
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/8739#comment:7>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list