 fullsessions0.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  



typelevel peano number n+1
 Instances  



typelevel peano number 0
 Instances  


class Sub n n' n''  n n' > n''  Source 

subtraction
  Instances  



typelevel boolean True
 Instances  



typelevel boolean False
 Instances  



typelevel list cons
 Instances  



typelevel 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 typelevel 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 