| full-sessions-0.4.189: yet another implementation of session types which does not require annotations | Source code | Contents | Index |
|
Control.Concurrent.FullSession.Misc |
|
|
|
Synopsis |
|
class TCast a b | a -> b, b -> a where | | | class TCast' t a b | t a -> b, t b -> a where | | | class TCast'' t a b | t a -> b, t b -> a where | | | data S n | | data Z | | class Sub n n' n'' | n n' -> n'' | | data T | | data F | | data hd :|: tl | | data Nil | | class Length ls n | ls -> n | | class Update n s t ss tt | n s t ss -> tt |
|
|
Documentation |
|
class TCast a b | a -> b, b -> a where | Source |
|
TypeCast, from the HList library
| | Methods | |
|
|
class TCast' t a b | t a -> b, t b -> a where | Source |
|
| Methods | typeCast' :: t -> a -> b | Source |
|
|
|
|
class TCast'' t a b | t a -> b, t b -> a where | Source |
|
| Methods | typeCast'' :: t -> a -> b | Source |
|
| | Instances | |
|
|
|
type-level peano number n+1
| Instances | |
|
|
|
type-level peano number 0
| Instances | |
|
|
class Sub n n' n'' | n n' -> n'' | Source |
|
subtraction
| | Instances | |
|
|
|
type-level boolean True
| Instances | |
|
|
|
type-level boolean False
| Instances | |
|
|
|
type-level list cons
| Instances | |
|
|
|
type-level list nil
| Instances | |
|
|
class Length ls n | ls -> n | Source |
|
list length
| | Instances | |
|
|
class Update n s t ss tt | n s t ss -> tt | Source |
|
A type-level list update operation
update(n,s,t,ss) = tt
update(n+1, s, t, x:ss) = x:update(n, s, t, ss)
update(0, s, t, x:ss)
| x==s = t:ss
| otherwise = undefined
ex. update(1, Cap Nil (Send Int End), Cap Nil End, c1:(Cap Nil Send Int End):c3:ss) = c1:(Cap Nil End):c3:ss
| | Instances | |
|
|
Produced by Haddock version 2.4.2 |