@@ -1,5 +1,4 @@
1{-# OPTIONS_GHC -Wall #-}
1{-# OPTIONS_GHC -Wall #-}
2−{-# LANGUAGE OverloadedStrings #-}
3module AST.Source
2module AST.Source
4 ( Expr, Expr_(..), VarType(..)
3 ( Expr, Expr_(..), VarType(..)
@@ -26,12 +25,13 @@ module AST.Source
28import Data.Name (Name)
27import Data.Name (Name)
29−import qualified Data.Utf8 as Utf8
28+import qualified Data.Name as Name
30−import Data.Word (Word8)
31−import Foreign.Ptr (Ptr)
33import qualified AST.Utils.Binop as Binop
30import qualified AST.Utils.Binop as Binop
34import qualified AST.Utils.Shader as Shader
31import qualified AST.Utils.Shader as Shader
32+import qualified Elm.Float as EF
33+import qualified Elm.String as ES
34+import qualified Parse.Primitives as P
35import qualified Reporting.Annotation as A
35import qualified Reporting.Annotation as A
@@ -43,10 +43,10 @@ type Expr = A.Located Expr_
46− = Chr Utf8.String
46+ = Chr ES.String
47− | Str Utf8.String
47+ | Str ES.String
49− | Float (Utf8.Under256 Float)
49+ | Float EF.Float
50 | Var VarType Name
50 | Var VarType Name
51 | VarQual VarType Name Name
51 | VarQual VarType Name Name
52 | List [Expr]
52 | List [Expr]
@@ -97,8 +97,8 @@ data Pattern_
97 | PCtorQual A.Region Name Name [Pattern]
97 | PCtorQual A.Region Name Name [Pattern]
98 | PList [Pattern]
98 | PList [Pattern]
99 | PCons Pattern Pattern
99 | PCons Pattern Pattern
100− | PChr Utf8.String
100+ | PChr ES.String
101− | PStr Utf8.String
101+ | PStr ES.String
102 | PInt Int
102 | PInt Int
@@ -128,7 +128,7 @@ data Module =
129 { _name :: Maybe (A.Located Name)
129 { _name :: Maybe (A.Located Name)
130 , _exports :: A.Located Exposing
130 , _exports :: A.Located Exposing
131− , _docs :: Maybe Docs
131+ , _docs :: Docs
132 , _imports :: [Import]
132 , _imports :: [Import]
133 , _values :: [A.Located Value]
133 , _values :: [A.Located Value]
134 , _unions :: [A.Located Union]
134 , _unions :: [A.Located Union]
@@ -145,13 +145,7 @@ getName (Module maybeName _ _ _ _ _ _ _ _) =
147 Nothing ->
147 Nothing ->
148− defaultModuleName
148+ Name._Main
151−{-# NOINLINE defaultModuleName #-}
152−defaultModuleName :: Name
157getImportName :: Import -> Name
151getImportName :: Import -> Name
@@ -186,18 +180,13 @@ data Manager
186 | Fx (A.Located Name) (A.Located Name)
180 | Fx (A.Located Name) (A.Located Name)
189−data Docs =
183+data Docs
190− Docs
184+ = NoDocs A.Region
191− { _overview :: Comment
192− , _comments :: [(Name, Comment)]
185+ | YesDocs Comment [(Name, Comment)]
196−data Comment =
188+newtype Comment =
197− Comment
189+ Comment P.Snippet
198− { _start :: Ptr Word8