[GHC] #13547: Lint error in arrows program
GHC
ghc-devs at haskell.org
Tue Apr 11 01:37:46 UTC 2017
#13547: Lint error in arrows program
-------------------------------------+-------------------------------------
Reporter: cipher1024 | Owner: (none)
Type: bug | Status: new
Priority: normal | Milestone:
Component: Compiler | Version: 8.0.1
(CodeGen) |
Resolution: | Keywords: Arrows
Operating System: Unknown/Multiple | Architecture: x86_64
Type of failure: Compile-time | (amd64)
crash or panic | Test Case:
Blocked By: | Blocking:
Related Tickets: 10158 | Differential Rev(s):
Wiki Page: |
-------------------------------------+-------------------------------------
Comment (by cipher1024):
What kind of attention do you think Arrows need? I haven't contributed to
GHC before but if I can help with arrows I'd love to.
In this particular situation, beside needing a more civilized error
message, maybe we need a generalization of `ArrowChoice` for existential
types so that we can make this design work:
{{{
class Arrow arr => ArrowExist arr where
existentially :: (forall a. constr a => arr (f a) b) -> arr (Cell1 f
constr) b
}}}
with
{{{
data Cell1 f (constr :: * -> Constraint) = forall a. (constr a, Typeable
a) => Cell (f a)
-- from https://hackage.haskell.org/package/existential
}}}
It might be overkill though. Looking back, maybe I'm overusing existential
types.
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/13547#comment:30>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list