|  Except I don't know how to write a type signature for this.
|  
|  The value 's' passed in is bound by pattern matching on this guy's 
constructor:
|  
|  data Stream a = forall s. Stream (s -> Step s a) !s Int
|  
|  in the top-level function, so I don't even know if it has a type I can name.

You can bind the type variable using a pattern type signature

        case x of
             Stream fun (state :: s) n -> ...

This should bind the type variable 's'.

Simon
_______________________________________________
Glasgow-haskell-users mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users

Reply via email to