on master help sign in
Fix bug in parsing type applications
ea2a61eEvan Czaplicki
src/AST/Variable.hs+10
@@ -58,6 +58,16 @@ fromModule home name =
58 Canonical (Module home) name
58 Canonical (Module home) name
59
59
60
60
61+localize :: Canonical -> Canonical
62+localize var@(Canonical home name) =
63+ case home of
64+ TopLevel _ ->
65+ Canonical Local name
66+
67+ _ ->
68+ var
69+
70+
61inCore :: ModuleName.Raw -> Text -> Canonical
71inCore :: ModuleName.Raw -> Text -> Canonical
62inCore home name =
72inCore home name =
63 Canonical (Module (ModuleName.inCore home)) name
73 Canonical (Module (ModuleName.inCore home)) name
src/Parse/Type.hs+1−1
@@ -81,7 +81,7 @@ app start =
81 _ ->
81 _ ->
82 let
82 let
83 tipe =
83 tipe =
84− A.at start end (Type.RApp ctor (reverse args))
84+ A.at start end (Type.RApp ctor args)
85 in
85 in
86 return ( tipe, end, space )
86 return ( tipe, end, space )
87
87
src/Validate.hs+8
@@ -12,10 +12,12 @@ import Data.Text (Text)
12import qualified AST.Effects as Effects
12import qualified AST.Effects as Effects
13import qualified AST.Expression.Source as Src
13import qualified AST.Expression.Source as Src
14import qualified AST.Declaration as D
14import qualified AST.Declaration as D
15+import qualified AST.Literal as L
15import qualified AST.Module as Module
16import qualified AST.Module as Module
16import qualified AST.Module.Name as ModuleName
17import qualified AST.Module.Name as ModuleName
17import qualified AST.Pattern as Pattern
18import qualified AST.Pattern as Pattern
18import qualified AST.Type as Type
19import qualified AST.Type as Type
20+import qualified AST.Variable as Var
19import qualified Elm.Compiler.Imports as Imports
21import qualified Elm.Compiler.Imports as Imports
20import qualified Elm.Package as Package
22import qualified Elm.Package as Package
21import Elm.Utils ((|>))
23import Elm.Utils ((|>))
@@ -464,6 +466,12 @@ expression :: Src.RawExpr -> Result wrn Src.ValidExpr
464expression (A.A ann sourceExpression) =
466expression (A.A ann sourceExpression) =
465 A.A ann <$>
467 A.A ann <$>
466 case sourceExpression of
468 case sourceExpression of
469+ Src.Var (Var.Raw "True") ->
470+ return (Src.Literal (L.Boolean True))
471+
472+ Src.Var (Var.Raw "False") ->
473+ return (Src.Literal (L.Boolean False))
474+
467 Src.Var x ->
475 Src.Var x ->
468 return (Src.Var x)
476 return (Src.Var x)
469
477