[Haskell-cafe] Partially-applied type synonyms?

Lyle Kopnicky lists at qseep.net
Tue Aug 31 12:55:10 EDT 2004

Sorry, I don't think I made myself clear.  I'm not defining PI, it's the 
standard type binding operator, like lambda is the variable binding 
operator.  Maybe I could write it as 'II' so it looks more like a 
capital pi.  It's not a feature of Haskell, but part of type theory 
(dependent types).  I was mixing and matching and making it look like 
Haskell.  So instead of 'PI r -> ContT r m', I could write 'flip ContT', 
except that 'flip' needs to work on a type level instead of a value 
level.  Or I could write '(`ContT` m)', or 'ContT _ m', where the '_' is 
a hole.  Does this make sense now?

Lyle Kopnicky

Chung-chieh Shan wrote:

>On 2004-08-30T17:09:39-0700, Lyle Kopnicky wrote:
>>Unfortunately, I need 'PI r -> ContT r m', along with a and r, to be a 
>>member of the MonadPCont class (PI is the type binding operator).  So I 
>>thought I'd define ContT' to take the arguments the other way around.  
>>Unfortunately, it can't be partially applied.
>What's your definition of PI?  I suspect you simply need to define a
>newtype that wraps around 'PI r -> ContT r m'.
>See also:
>Wadler, Philip L. 1994.  Monads and composable continuations.  Lisp and
>Symbolic Computation 7(1): 39-56.
>Haskell-Cafe mailing list
>Haskell-Cafe at haskell.org

More information about the Haskell-Cafe mailing list