git.iko.soy/rowtype-yoga/purescript-native
on golang help sign in
Merge pull request #1618 from balajirrao/master
e480f5dPhil Freeman
examples/passing/FieldConsPuns.pursnew file+10
@@ -0,0 +1,10 @@
1+module Main where
2+
3+import Prelude
4+import Control.Monad.Eff.Console
5+
6+greet { greeting, name } = log $ greeting <> ", " <> name <> "."
7+
8+main = greet { greeting, name} where
9+ greeting = "Hello"
10+ name = "World"
src/Language/PureScript/Parser/Declarations.hs+7−2
@@ -334,9 +334,14 @@ parseObjectLiteral :: TokenParser Expr
334parseObjectLiteral = ObjectConstructor <$> braces (commaSep parseIdentifierAndValue)
334parseObjectLiteral = ObjectConstructor <$> braces (commaSep parseIdentifierAndValue)
335
335
336parseIdentifierAndValue :: TokenParser (String, Maybe Expr)
336parseIdentifierAndValue :: TokenParser (String, Maybe Expr)
337−parseIdentifierAndValue = (,) <$> (C.indented *> (lname <|> stringLiteral) <* C.indented <* colon)
337+parseIdentifierAndValue =
338− <*> (C.indented *> val)
338+ do
339+ name <- C.indented *> lname
340+ b <- P.option (Just $ Var $ Qualified Nothing (Ident name)) rest
341+ return (name, b)
342+ <|> (,) <$> (C.indented *> stringLiteral) <*> rest
339 where
343 where
344+ rest = C.indented *> colon *> C.indented *> val
340 val = (Just <$> parseValue) <|> (underscore *> pure Nothing)
345 val = (Just <$> parseValue) <|> (underscore *> pure Nothing)
341
346
342parseAbs :: TokenParser Expr
347parseAbs :: TokenParser Expr