on master help sign in
Resolve TODO for floats in pattern matches
commitac7f11fd5952d3d0e2d21eb585e16b274449d038 authorEvan Czaplicki <evancz@users.noreply.github.com> dateWed 31 Jan 2018, 19:04 (9 years ago) parentd1eba41
2 files changed+9−1
src/Parse/Pattern.hs+2−1 src/Parse/Primitives.hs+7
src/Parse/Pattern.hs+2−1
@@ -12,6 +12,7 @@ import qualified Data.List as List
1212import qualified AST.Source as Src
1313import qualified Elm.Name as N
1414import Parse.Primitives (Parser, SParser, SPos, addLocation, checkSpace, getPosition, hint, inContext, spaces, oneOf)
15+import qualified Parse.Primitives as P
1516import qualified Parse.Primitives.Keyword as Keyword
1617import qualified Parse.Primitives.Number as Number
1718import qualified Parse.Primitives.Symbol as Symbol
@@ -69,7 +70,7 @@ termHelp start =
6970 return (A.at start end (Src.PInt int))
7071
7172 Number.Float _ ->
72− error "TODO floats are not allowed in pattern matches"
73+ P.noFloatsAllowedInPatterns
7374 ,
7475 do str <- Utf8.string
7576 end <- getPosition
src/Parse/Primitives.hs+7
@@ -5,6 +5,7 @@ module Parse.Primitives
55 , I.oneOf
66 , run, runAt
77 , try, deadend, hint, endOfFile
8+ , noFloatsAllowedInPatterns
89 , getPosition, getCol
910 , pushContext, popContext
1011 , getIndent, setIndent
@@ -115,6 +116,12 @@ endOfFile =
115116 eok () state noError
116117
117118
119+noFloatsAllowedInPatterns :: Parser a
120+noFloatsAllowedInPatterns =
121+ Parser $ \(State _ _ _ _ row col _) _ cerr _ _ ->
122+ cerr (E.ParseError row col E.FloatInPattern)
123+
124+
118125
119126-- STATE
120127