#1633: Now where does this error come from
----------------------------+-----------------------------------------------
Reporter: guest | Owner:
Type: proposal | Status: new
Priority: normal | Milestone:
Component: Documentation | Version: 6.6.1
Severity: normal | Keywords:
Difficulty: Unknown | Os: Unknown
Testcase: | Architecture: Unknown
----------------------------+-----------------------------------------------
{{{
ext :: Ev st Request res -> ServerPart (EvPar res st) Request Result
ext x = Handle $ \req -> do f <- ask
liftIO $ f x req
}}}
That's from HAppS/Protocols/HTTP.hs
While trying to bend my head around the involved types, feeling
understanding already creeping somewhere, I, in a desperate attempt,
copied the code into my source and changed it to
{{{
ext' :: Ev st Request res -> ServerPart (EvPar res st) Request Result
ext' x = Handle $ \req -> req
}}}
hoping to get a clean, expressive and enlightening type error,
I got this:
{{{
Kind mis-match
Expected kind `* -> *', but `Result' has kind `*'
In the type `ServerPart (EvPar res st) Request Result'
In the type `Ev st Request res
-> ServerPart (EvPar res st) Request Result'
In the type signature for `ext'':
ext' :: Ev st Request res
-> ServerPart (EvPar res st) Request Result
}}}
Which made me wonder, google and then groan, as I couldn't even figure out
what the heck a kind-mismatch is or means, not to mention why ghc points
me to the type instead of the code.
My request is for the documentation section "Error messages and their
meaning" aka "RTF this if you got that". The terminology of some ghc
errors is just begging for references to papers.
--
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/1633>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
_______________________________________________
Glasgow-haskell-bugs mailing list
Glasgow-haskell-bugs@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs