[GHC] #11715: Constraint vs *
GHC
ghc-devs at haskell.org
Tue Dec 6 21:00:40 UTC 2016
#11715: Constraint vs *
-------------------------------------+-------------------------------------
Reporter: bgamari | Owner:
Type: bug | Status: new
Priority: high | Milestone: 8.2.1
Component: Compiler (Type | Version: 8.0.1-rc1
checker) |
Resolution: | Keywords: Typeable
Operating System: Unknown/Multiple | Architecture:
| Unknown/Multiple
Type of failure: None/Unknown | Test Case:
Blocked By: | Blocking:
Related Tickets: | Differential Rev(s):
Wiki Page: |
-------------------------------------+-------------------------------------
Comment (by goldfire):
Flipping back through this ticket, I see that my new comment:47 seems to
appear out of the blue. I also see @int-index advocating for dropping the
distinction between `Constraint` and `Type` entirely.... but a quick skim
doesn't show others agreeing with this direction of travel. I ''do'' think
@int-index's approach (allowing `Int => ...`) is plausible, but I still am
not convinced it's a good idea. If it's the ''only'' way to solve the
original ticket, then perhaps it would be worth revisiting, but I'm not
keen to start down that road.
@int-index, you have argued well for your cause, but I, personally, need
to see others agree with you and want these features before getting on
board. It's not a matter of soundness or implementation, but of the kind
of features and properties we wish Haskell to have.
Responding more directly to comment:50:
1. That's true I suppose. We could also say, though, that `RuntimeRep`
tells us the calling convention, not just the runtime representation.
Constraints and regular types ''do'' have different calling conventions in
Haskell code.
2. This goes back to my paragraphs above, in this comment.
3. `reflection` is an abuse of GHC, using an undocumented feature of the
implementation. I do understand that many people use this undocumented
feature, and so we could look at a way of saving `reflection`, but I don't
see this as an argument against my proposal. We could always come up with
another way to support `reflection` without newtype-classes.
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/11715#comment:51>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list