git.iko.soy/rowtype-yoga/purescript-native
on golang help sign in
Remove values-as-statements
commit53821774c6c367c89463e4b23f372186b5f24396 authorPhil Freeman <paf31@cantab.net> dateTue 7 Jan 2014, 17:18 (13 years ago) parentd824d56
7 files changed+1−19
examples/passing/MethodCall.purs−8 purescript.cabal+1−1 src/Language/PureScript/CodeGen/JS.hs−1 src/Language/PureScript/Parser/Values.hs−4 src/Language/PureScript/Pretty/Values.hs−1 src/Language/PureScript/TypeChecker/Types.hs−3 src/Language/PureScript/Values.hs−1
examples/passing/MethodCall.pursdeleted−8
@@ -1,8 +0,0 @@
1−module MethodCall where
2−
3− foreign import foo :: () -> {}
4−
5− test = {
6− foo();
7− return 0;
8− }
purescript.cabal+1−1
@@ -1,5 +1,5 @@
11name: purescript
2−version: 0.2.6
2+version: 0.2.7
33cabal-version: >=1.8
44build-type: Simple
55license: MIT
src/Language/PureScript/CodeGen/JS.hs−1
@@ -187,5 +187,4 @@ statementToJs m e (If ifst) = ifToJs ifst
187187 elseToJs :: ElseStatement -> JS
188188 elseToJs (Else sts) = JSBlock (map (statementToJs m e) sts)
189189 elseToJs (ElseIf elif) = ifToJs elif
190−statementToJs m e (ValueStatement val) = valueToJs m e val
191190statementToJs m e (Return value) = JSReturn (valueToJs m e value)
src/Language/PureScript/Parser/Values.hs−4
@@ -211,9 +211,6 @@ parseElseStatement :: P.Parsec String ParseState ElseStatement
211211parseElseStatement = C.reserved "else" >> (ElseIf <$> parseIfStatement
212212 <|> Else <$> parseManyStatements)
213213
214−parseValueStatement :: P.Parsec String ParseState Statement
215−parseValueStatement = ValueStatement <$> (parseValue <* C.semi)
216−
217214parseReturn :: P.Parsec String ParseState Statement
218215parseReturn = Return <$> (C.reserved "return" *> parseValue <* C.indented <* C.semi)
219216
@@ -224,7 +221,6 @@ parseStatement = P.choice
224221 , parseWhile
225222 , parseFor
226223 , parseIf
227− , parseValueStatement
228224 , parseReturn ] P.<?> "statement"
229225
230226parseStringBinder :: P.Parsec String ParseState Binder
src/Language/PureScript/Pretty/Values.hs−1
@@ -205,7 +205,6 @@ prettyPrintStatement (For ident start end sts) = "for " ++ show ident
205205 ++ " until " ++ prettyPrintValue end ++ ": {"
206206 ++ intercalate "; " (map prettyPrintStatement sts) ++ " }"
207207prettyPrintStatement (If ifst) = prettyPrintIfStatement ifst
208−prettyPrintStatement (ValueStatement val) = prettyPrintValue val
209208prettyPrintStatement (Return value) = "return " ++ prettyPrintValue value
210209
211210prettyPrintIfStatement :: IfStatement -> String
src/Language/PureScript/TypeChecker/Types.hs−3
@@ -540,9 +540,6 @@ checkStatement mass ret (For ident start end inner) = do
540540 check end Number
541541 (allCodePathsReturn, _) <- bindLocalVariables moduleName [(ident, Number)] $ checkBlock mass ret inner
542542 return (allCodePathsReturn, mass)
543−checkStatement mass _ (ValueStatement val) = do
544− check val unit
545− return (False, mass)
546543checkStatement mass ret (Return val) = do
547544 check val ret
548545 return (True, mass)
src/Language/PureScript/Values.hs−1
@@ -85,7 +85,6 @@ data Statement
8585 | While Value [Statement]
8686 | For Ident Value Value [Statement]
8787 | If IfStatement
88− | ValueStatement Value
8988 | Return Value deriving (Show, Data, Typeable)
9089
9190data IfStatement = IfStatement Value [Statement] (Maybe ElseStatement) deriving (Show, Data, Typeable)