2008/10/9 Reiner Pope <[EMAIL PROTECTED]>: > The syntax is for the implicit parameter extension[1]. I think you would > write your example as > > foo (undefined :: Bar x) ?z :: Bar y > > Then querying the type of that whole expression with :t will list ?z's type > in the expression's constraints. (Of course, you should turn off the > monomorphism restriction so that ghc doesn't complain if constraints aren't > resolved).
Oh yeah, I forgot about that. ghci> :set -fno-monomorphism-restriction Although I don't know if that affects the results of the :t command. > [1]: > http://www.haskell.org/ghc/docs/latest/html/users_guide/other-type-extensions.html#implicit-parameters > > Reiner There's also a haskell98 way to do the same thing, it's just a bit more wordy at the ghci prompt, and a bit more work to decode the result: ghci> :t \z -> (foo (undefined :: Bar x) z :: Bar y) Now, the type of this expression is clearly type of z -> Bar y So just read the value before the arrow to get your answer. -- ryan _______________________________________________ Haskell-Cafe mailing list [email protected] http://www.haskell.org/mailman/listinfo/haskell-cafe
