@@ -26,20 +26,19 @@ import Language.PureScript.Names
27desugarObjectConstructors :: Module -> Module
27desugarObjectConstructors :: Module -> Module
28desugarObjectConstructors (Module mn ds exts) = Module mn (map desugarDecl ds) exts
28desugarObjectConstructors (Module mn ds exts) = Module mn (map desugarDecl ds) exts
30−desugarDecl :: Declaration -> Declaration
31+ desugarDecl :: Declaration -> Declaration
32− let (f, _, _) = everywhereOnValues id desugarExpr id
32+ (desugarDecl, _, _) = everywhereOnValues id desugarExpr id
35−desugarExpr :: Expr -> Expr
34+ desugarExpr :: Expr -> Expr
36−desugarExpr (ObjectConstructor ps) =
35+ desugarExpr (ObjectConstructor ps) =
37− let (props, args) = partition (isJust . snd) ps
36+ let (props, args) = partition (isJust . snd) ps
38− in if null args
37+ in if null args
39− then ObjectLiteral $ second fromJust `map` props
38+ then ObjectLiteral $ second fromJust `map` props
40− else foldr (Abs . Left . Ident . fst) (ObjectLiteral (mkProp `map` ps)) (reverse args)
39+ else foldr (Abs . Left . Ident . fst) (ObjectLiteral (mkProp `map` ps)) args
41−desugarExpr e = e
40+ desugarExpr e = e
43−mkProp :: (String, Maybe Expr) -> (String, Expr)
42+ mkProp :: (String, Maybe Expr) -> (String, Expr)
44−mkProp (name, Just e) = (name, e)
43+ mkProp (name, Just e) = (name, e)
45−mkProp (name, Nothing) = (name, Var (Qualified Nothing (Ident name)))
44+ mkProp (name, Nothing) = (name, Var (Qualified Nothing (Ident name)))