on master help sign in
Throw proper parse errors, stop using `error`
commit082e6a20c06851cd6f77651263df20d9ce713239 authorEvan Czaplicki <info@elm-lang.org> dateSun 25 Aug 2013, 19:22 (13 years ago) parentca75e60
1 file changed+5−5
compiler/Parse/Declaration.hs+5−5
compiler/Parse/Declaration.hs+5−5
@@ -72,8 +72,8 @@ exportEvent = do
7272 T.Data "Signal" [t] ->
7373 case isExportable t of
7474 Nothing -> return (ExportEvent eventName elmVar tipe)
75− Just err -> error err
76− _ -> error "When importing foreign events, the imported value must have type Signal."
75+ Just err -> fail err
76+ _ -> fail "When importing foreign events, the imported value must have type Signal."
7777
7878importEvent :: IParser (Declaration t v)
7979importEvent = do
@@ -89,14 +89,14 @@ importEvent = do
8989 T.Data "Signal" [t] ->
9090 case isExportable t of
9191 Nothing -> return (ImportEvent eventName baseValue elmVar tipe)
92− Just err -> error err
93− _ -> error "When importing foreign events, the imported value must have type Signal."
92+ Just err -> fail err
93+ _ -> fail "When importing foreign events, the imported value must have type Signal."
9494
9595jsVar :: IParser String
9696jsVar = betwixt '"' '"' $ do
9797 v <- (:) <$> (letter <|> char '_') <*> many (alphaNum <|> char '_')
9898 if Set.notMember v jsReserveds then return v else
99− error $ "'" ++ v ++
99+ fail $ "'" ++ v ++
100100 "' is not a good name for a importing or exporting JS values."
101101
102102isExportable tipe =