Concerning the recent modifications to the type-checker (continued)

Simon Peyton-Jones simonpj at microsoft.com
Tue Jan 31 11:44:20 EST 2006


| 1) when compiling the arrows library (current version, i.e. 0.1)
| in Control/Arrow/Transformer/Stream.hs
| 
| The following code:
| 
| newtype StreamArrow a b c = Str (a (Stream b) (Stream c))
| type StreamMap = StreamArrow (->)
| type StreamMapST s = StreamArrow (Kleisli (ST s))
| 
| runStreamST :: (forall s. StreamMapST s e c) -> StreamMap e c
| runStreamST cf =
|     let Str f = cf in
|     let Kleisli g = f in
|     Str $ \input -> runST (g input)
| 
| gives :
| 
|     The lambda expression `\ input -> ...' has one arguments,
|     but its type `a' has none
|     In the second argument of `($)', namely
|         `\ input -> runST (g input)'

I fixed this one.

Simon


More information about the Cvs-ghc mailing list