[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?
Regards,
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.
>http://homepages.inf.ed.ac.uk/wadler/topics/monads.html#composable
>
>
>
>------------------------------------------------------------------------
>
>_______________________________________________
>Haskell-Cafe mailing list
>Haskell-Cafe at haskell.org
>http://www.haskell.org/mailman/listinfo/haskell-cafe
>
>
More information about the Haskell-Cafe
mailing list