@@ -29,13 +29,6 @@ import PureScript.Declarations
29import PureScript.CodeGen.Common
29import PureScript.CodeGen.Common
30import PureScript.CodeGen.Common.Gen
30import PureScript.CodeGen.Common.Gen
32−identToJs :: Ident -> String
33−identToJs (Ident name) = name
34−identToJs (Op op) = concatMap opCharToString op
36− opCharToString :: Char -> String
37− opCharToString = (:) '$'. show . ord
39declToJs :: Declaration -> Maybe String
32declToJs :: Declaration -> Maybe String
40declToJs (ValueDeclaration ident val) = Just $ "var " ++ identToJs ident ++ " = " ++ valueToJs val ++ ";"
33declToJs (ValueDeclaration ident val) = Just $ "var " ++ identToJs ident ++ " = " ++ valueToJs val ++ ";"
41declToJs (DataDeclaration _ _ ctors) =
34declToJs (DataDeclaration _ _ ctors) =
@@ -117,33 +110,33 @@ valueToJs = fromMaybe (error "Incomplete pattern") . pattern matchValue
117 matchValue = buildPrettyPrinter operators (literals <|> fmap parens matchValue)
110 matchValue = buildPrettyPrinter operators (literals <|> fmap parens matchValue)
118 operators :: OperatorTable Value String
111 operators :: OperatorTable Value String
119 operators =
112 operators =
120− OperatorTable $ [ Wrap accessor $ \prop val -> val ++ "." ++ prop
113+ OperatorTable $ [ [ Wrap accessor $ \prop val -> val ++ "." ++ prop ]
121− , Wrap indexer $ \index val -> val ++ "[" ++ index ++ "]"
114+ , [ Wrap indexer $ \index val -> val ++ "[" ++ index ++ "]" ]
122− , Wrap app $ \args val -> val ++ "(" ++ args ++ ")"
115+ , [ Wrap app $ \args val -> val ++ "(" ++ args ++ ")" ]
123− , Split lam $ \args val -> "function (" ++ intercalate "," args ++ ") { return " ++ valueToJs val ++ "; }"
116+ , [ Split lam $ \args val -> "function (" ++ intercalate "," args ++ ") { return " ++ valueToJs val ++ "; }" ]
124− , binary LessThan "<"
117+ , [ binary LessThan "<" ]
125− , binary LessThanOrEqualTo "<="
118+ , [ binary LessThanOrEqualTo "<=" ]
126− , binary GreaterThan ">"
119+ , [ binary GreaterThan ">" ]
127− , binary GreaterThanOrEqualTo ">="
120+ , [ binary GreaterThanOrEqualTo ">=" ]
128− , unary Not "!"
121+ , [ unary Not "!" ]
129− , unary BitwiseNot "~"
122+ , [ unary BitwiseNot "~" ]
130− , unary Negate "-"
123+ , [ unary Negate "-" ]
131− , binary Multiply "*"
124+ , [ binary Multiply "*" ]
132− , binary Divide "/"
125+ , [ binary Divide "/" ]
133− , binary Modulus "%"
126+ , [ binary Modulus "%" ]
134− , binary Concat "++"
127+ , [ binary Concat "++" ]
135− , binary Add "+"
128+ , [ binary Add "+" ]
136− , binary Subtract "-"
129+ , [ binary Subtract "-" ]
137− , binary ShiftLeft "<<"
130+ , [ binary ShiftLeft "<<" ]
138− , binary ShiftRight ">>"
131+ , [ binary ShiftRight ">>" ]
139− , binary ZeroFillShiftRight ">>>"
132+ , [ binary ZeroFillShiftRight ">>>" ]
140− , binary EqualTo "==="
133+ , [ binary EqualTo "===" ]
141− , binary NotEqualTo "!=="
134+ , [ binary NotEqualTo "!==" ]
142− , binary BitwiseAnd "&"
135+ , [ binary BitwiseAnd "&" ]
143− , binary BitwiseXor "^"
136+ , [ binary BitwiseXor "^" ]
144− , binary BitwiseOr "|"
137+ , [ binary BitwiseOr "|" ]
145− , binary And "&&"
138+ , [ binary And "&&" ]
146− , binary Or "||"
139+ , [ binary Or "||" ]
149unaryOperatorString :: UnaryOperator -> String
142unaryOperatorString :: UnaryOperator -> String