Subversion

Galculator

?curdirlinks? -

Blame information for rev 5

Line No. Rev Author Line
1 1 paulosilva  
2 {-# OPTIONS_GHC -Wall #-}
3
4  
5
6  
7 Module : Language.R.Syntax
8 Description :
9 Copyright : (c) Paulo Silva
10 License : LGPL
11
12  
13 Stability : experimental
14 Portability : portable
15
16  
17 -}
18
19  
20
21  
22 R(..),
23 RType
24 ) where
25
26  
27 import Data.Map(Map)
28 import Data.Set(Set)
29 import Language.Type.Syntax
30
31  
32
33  
34 BOT :: R (b :<->: a)
35 TOP :: R (b :<->: a)
36 NEG :: R (b :<->: a) -> R (b :<->: a)
37 MEET :: R (b :<->: a) -> R (b :<->: a) -> R (b :<->: a)
38 JOIN :: R (b :<->: a) -> R (b :<->: a) -> R (b :<->: a)
39 ID :: R (a :<->: a)
40 CONV :: R (b :<->: a) -> R (a :<->: b)
41 COMP :: Type b -> R (c :<->: b) -> R (b :<->: a) -> R (c :<->: a)
42 SPLIT :: R (b :<->: a) -> R (c :<->: a) -> R ((b,c) :<->: a)
43
44  
45 FUN :: R (b :<-: a) -> R (b :<->: a)
46
47  
48 RIGHTSEC :: Type c -> R (a :<-: (b,c)) -> R c -> R (a :<-: b)
49
50  
51 DEF :: Name -> Type a -> R a
52 Var :: Name -> R a
53
54  
55 EITHER :: R (b :<->: a) -> R (d :<->: c) -> R (Either b d :<->: Either a c)
56 MAYBE :: R (b :<->: a) -> R (Maybe b :<->: Maybe a)
57 LIST :: R (b :<->: a) -> R ([b] :<->: [a])
58 SET :: R (b :<->: a) -> R (Set b :<->: Set a)
59 MAP :: R (b :<->: a) -> R (Map k b :<->: Map k a)
60
61  
62 5 paulosilva
63  
64 1 paulosilva FComp :: Type b -> R (c :<-: b) -> R (b :<-: a) -> R (c :<-: a)
65
66  
67 OComp :: R (PO a) -> R (PO a) -> R (PO a)
68 OConv :: R (PO a) -> R (PO a)
69 OProd :: R (PO a) -> R (PO (a,a))
70
71  
72 OMeet :: R (PO a) -> R (a :<-: (a,a))
73 OMax :: R (PO a) -> R a
74 OMin :: R (PO a) -> R a
75
76  
77 -> R (b :<-: a) -> R (a :<-: b)
78 -> R (PO b) -> R (PO a)
79 -> R (GC b a)
80
81  
82 GComp :: Type b -> R (GC c b) -> R (GC b a) -> R (GC c a)
83 GConv :: R (GC b a) -> R (GC a b)
84
85  
86 GUAdj :: R (GC b a) -> R (a :<-: b)
87 GLOrd :: Type a -> R (GC b a) -> R (PO b)
88 GUOrd :: Type b -> R (GC b a) -> R (PO a)
89
90  
91
92  
93
94  
95

Theme by Vikram Singh | Powered by WebSVN v2.3.3