
#14832: QuantifiedConstraints: Adding to the context causes failure -------------------------------------+------------------------------------- Reporter: Iceland_jack | Owner: (none) Type: bug | Status: new Priority: normal | Milestone: Component: Compiler | Version: 8.5 Resolution: | Keywords: | QuantifiedConstraints wipT2893 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 Iceland_jack): Replying to [comment:2 simonpj]:
I'm inclined to park this one until we have the basics nailed.
That's fine, this isn't (doesn't seem to be) a show stopper. In this case I can encode these properties as a type class (`(:-)`-enriched categories) {{{#!hs type ConstraintCat ob = ob -> ob -> Constraint class ConstraintCategory (cat::ConstraintCat ob) where cid :: () :- cat a a comp :: (cat a b, cat b c) :- cat a c instance CCategory cat => Category (With cat) where id :: forall a. With cat a a id = case cid :: () :- cat a a of Dict -> With (.) :: forall b c a. With cat b c -> With cat a b -> With cat a c With . With = case ccomp :: (cat a b, cat b c) :- cat a c of Dict -> With }}} -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/14832#comment:4 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler