@@ -23,7 +23,6 @@ module AST.Canonical
23 , Binop(..)
23 , Binop(..)
24 , Union(..)
24 , Union(..)
25 , Ctor(..)
25 , Ctor(..)
27 , Exports(..)
26 , Exports(..)
28 , Export(..)
27 , Export(..)
29 , Effects(..)
28 , Effects(..)
@@ -54,19 +53,16 @@ So it is clear why the data is kept around.
55import Control.Monad (liftM, liftM2, liftM3, liftM4, replicateM)
54import Control.Monad (liftM, liftM2, liftM3, liftM4, replicateM)
56import Data.Binary
55import Data.Binary
57−import qualified Data.ByteString as B
58import qualified Data.List as List
56import qualified Data.List as List
59import qualified Data.Map as Map
57import qualified Data.Map as Map
60import Data.Name (Name)
58import Data.Name (Name)
61−import Data.Text (Text)
62−import Data.Utf8 (Utf8)
59+import qualified Data.Utf8 as Utf8
64import qualified AST.Utils.Binop as Binop
61import qualified AST.Utils.Binop as Binop
65import qualified AST.Utils.Shader as Shader
62import qualified AST.Utils.Shader as Shader
66import qualified Data.Index as Index
63import qualified Data.Index as Index
67import qualified Elm.ModuleName as ModuleName
64import qualified Elm.ModuleName as ModuleName
68import qualified Reporting.Annotation as A
65import qualified Reporting.Annotation as A
69−import qualified Reporting.Region as R
@@ -86,10 +82,10 @@ data Expr_
86 | VarCtor CtorOpts ModuleName.Canonical Name Index.ZeroBased Annotation
82 | VarCtor CtorOpts ModuleName.Canonical Name Index.ZeroBased Annotation
87 | VarDebug ModuleName.Canonical Name Annotation
83 | VarDebug ModuleName.Canonical Name Annotation
88 | VarOperator Name ModuleName.Canonical Name Annotation -- CACHE real name for optimization
84 | VarOperator Name ModuleName.Canonical Name Annotation -- CACHE real name for optimization
89− | Chr Utf8
85+ | Chr Utf8.String
90− | Str Utf8
86+ | Str Utf8.String
92− | Float Double
88+ | Float (Utf8.Under256 Float)
93 | List [Expr]
89 | List [Expr]
94 | Negate Expr
90 | Negate Expr
95 | Binop Name ModuleName.Canonical Name Annotation Expr Expr -- CACHE real name for optimization
91 | Binop Name ModuleName.Canonical Name Annotation Expr Expr -- CACHE real name for optimization
@@ -106,7 +102,7 @@ data Expr_
106 | Record (Map.Map Name Expr)
102 | Record (Map.Map Name Expr)
108 | Tuple Expr Expr (Maybe Expr)
104 | Tuple Expr Expr (Maybe Expr)
109− | Shader Text Text Shader.Shader
105+ | Shader Shader.Source Shader.Types
112data CaseBranch =
108data CaseBranch =
@@ -114,7 +110,7 @@ data CaseBranch =
116data FieldUpdate =
112data FieldUpdate =
117− FieldUpdate R.Region Expr
113+ FieldUpdate A.Region Expr
@@ -154,8 +150,8 @@ data Pattern_
154 | PList [Pattern]
150 | PList [Pattern]
155 | PCons Pattern Pattern
151 | PCons Pattern Pattern
156 | PBool Union Bool
152 | PBool Union Bool
157− | PChr Utf8
153+ | PChr Utf8.String
158− | PStr Utf8
154+ | PStr Utf8.String
159 | PInt Int
155 | PInt Int
161 { _p_home :: ModuleName.Canonical
157 { _p_home :: ModuleName.Canonical
@@ -231,7 +227,6 @@ fieldsToList fields =
231data Module =
227data Module =
233 { _name :: ModuleName.Canonical
229 { _name :: ModuleName.Canonical
235 , _exports :: Exports
230 , _exports :: Exports
236 , _decls :: Decls
231 , _decls :: Decls
237 , _unions :: Map.Map Name Union
232 , _unions :: Map.Map Name Union
@@ -266,24 +261,11 @@ data Ctor =
275− { _region :: R.Region
276− , _overview :: B.ByteString
277− , _comments :: Map.Map Name Text
282-- EXPORTS
264-- EXPORTS
285data Exports
267data Exports
286− = ExportEverything R.Region
268+ = ExportEverything A.Region
287 | Export (Map.Map Name (A.Located Export))
269 | Export (Map.Map Name (A.Located Export))
@@ -303,7 +285,7 @@ data Export
303data Effects
285data Effects
304 = NoEffects
286 = NoEffects
305 | Ports (Map.Map Name Port)
287 | Ports (Map.Map Name Port)
306− | Manager R.Region R.Region R.Region Manager
288+ | Manager A.Region A.Region A.Region Manager