]> Git — Sourcephile - haskell/symantic.git/blob - symantic-lib/Language/Symantic/Lib.hs
Fix prefix/postfix operators wrt. term application.
[haskell/symantic.git] / symantic-lib / Language / Symantic / Lib.hs
1 -- | Libraries.
2 module Language.Symantic.Lib
3 ( module Language.Symantic.Lib
4 , module Language.Symantic.Lib.Applicative
5 , module Language.Symantic.Lib.Alternative
6 , module Language.Symantic.Lib.Bool
7 , module Language.Symantic.Lib.Bounded
8 , module Language.Symantic.Lib.Char
9 , module Language.Symantic.Lib.Either
10 , module Language.Symantic.Lib.Eq
11 , module Language.Symantic.Lib.Enum
12 , module Language.Symantic.Lib.Foldable
13 , module Language.Symantic.Lib.Functor
14 , module Language.Symantic.Lib.If
15 , module Language.Symantic.Lib.Int
16 , module Language.Symantic.Lib.Integer
17 , module Language.Symantic.Lib.Integral
18 , module Language.Symantic.Lib.IO
19 , module Language.Symantic.Lib.Lambda
20 , module Language.Symantic.Lib.List
21 , module Language.Symantic.Lib.Map
22 , module Language.Symantic.Lib.Maybe
23 , module Language.Symantic.Lib.Monad
24 , module Language.Symantic.Lib.MonoFoldable
25 , module Language.Symantic.Lib.MonoFunctor
26 , module Language.Symantic.Lib.Monoid
27 , module Language.Symantic.Lib.NonNull
28 , module Language.Symantic.Lib.Num
29 , module Language.Symantic.Lib.Ord
30 , module Language.Symantic.Lib.Real
31 , module Language.Symantic.Lib.Ratio
32 , module Language.Symantic.Lib.Semigroup
33 , module Language.Symantic.Lib.Sequences
34 , module Language.Symantic.Lib.Show
35 , module Language.Symantic.Lib.Text
36 , module Language.Symantic.Lib.Traversable
37 , module Language.Symantic.Lib.Tuple2
38 , module Language.Symantic.Lib.Unit
39 ) where
40
41 import Language.Symantic.Lib.Applicative
42 import Language.Symantic.Lib.Alternative
43 import Language.Symantic.Lib.Bool
44 import Language.Symantic.Lib.Bounded
45 import Language.Symantic.Lib.Char
46 import Language.Symantic.Lib.Either
47 import Language.Symantic.Lib.Eq
48 import Language.Symantic.Lib.Enum
49 import Language.Symantic.Lib.Foldable
50 import Language.Symantic.Lib.Functor
51 import Language.Symantic.Lib.If
52 import Language.Symantic.Lib.Int
53 import Language.Symantic.Lib.Integer
54 import Language.Symantic.Lib.Integral
55 import Language.Symantic.Lib.IO
56 import Language.Symantic.Lib.Lambda
57 import Language.Symantic.Lib.List
58 import Language.Symantic.Lib.Map
59 import Language.Symantic.Lib.Maybe
60 import Language.Symantic.Lib.Monad
61 import Language.Symantic.Lib.MonoFoldable
62 import Language.Symantic.Lib.MonoFunctor
63 import Language.Symantic.Lib.Monoid
64 import Language.Symantic.Lib.NonNull
65 import Language.Symantic.Lib.Num
66 import Language.Symantic.Lib.Ord
67 import Language.Symantic.Lib.Real
68 import Language.Symantic.Lib.Ratio
69 import Language.Symantic.Lib.Semigroup
70 import Language.Symantic.Lib.Sequences
71 import Language.Symantic.Lib.Show
72 import Language.Symantic.Lib.Text
73 import Language.Symantic.Lib.Traversable
74 import Language.Symantic.Lib.Tuple2
75 import Language.Symantic.Lib.Unit
76
77 import Data.Map.Strict (Map)
78 import Data.NonNull (NonNull)
79 import Data.Proxy (Proxy)
80 import Data.Ratio (Ratio)
81 import Data.Text (Text)
82 import System.IO as IO (IO, Handle, IOMode)
83 import qualified Data.MonoTraversable as MT
84 import qualified Data.Sequences as Seqs
85 import qualified Language.Symantic.Helper.Data.Type.List as Type
86
87 -- * Type 'TyConsts'
88 -- | Usual 'TyConst's.
89 type TyConsts = TyConsts_Terms Type.++ TyConsts_Constraints
90
91 -- ** Type 'TyConsts_Terms'
92 -- | Usual 'TyConst's of /terms constructors/.
93 type TyConsts_Terms =
94 [ Proxy ()
95 , Proxy (,)
96 , Proxy (->)
97 , Proxy []
98 , Proxy Bool
99 , Proxy Char
100 , Proxy Either
101 , Proxy Int
102 , Proxy Integer
103 , Proxy IO
104 , Proxy IO.Handle
105 , Proxy IO.IOMode
106 , Proxy Ordering
107 , Proxy Map
108 , Proxy Maybe
109 , Proxy NonNull
110 , Proxy Ratio
111 , Proxy Text
112 ]
113
114 -- ** Type 'TyConsts_Constraints'
115 -- | Usual 'TyConst's of /type constraint constructors/.
116 type TyConsts_Constraints =
117 [ Proxy Applicative
118 , Proxy Bounded
119 , Proxy Enum
120 , Proxy Eq
121 , Proxy Foldable
122 , Proxy Functor
123 , Proxy Integral
124 , Proxy Monad
125 , Proxy Monoid
126 , Proxy MT.MonoFoldable
127 , Proxy MT.MonoFunctor
128 , Proxy Num
129 , Proxy Ord
130 , Proxy Real
131 , Proxy Seqs.IsSequence
132 , Proxy Seqs.SemiSequence
133 , Proxy Show
134 , Proxy Traversable
135 ]