@@ -59,10 +59,10 @@ accessor = Pattern $ A.Kleisli match
59 match (Accessor prop val) = Just (prop, val)
59 match (Accessor prop val) = Just (prop, val)
60 match _ = Nothing
60 match _ = Nothing
62−indexer :: Pattern Value (String, Value)
62+indexer :: Pattern Value (Value, Value)
63indexer = Pattern $ A.Kleisli match
63indexer = Pattern $ A.Kleisli match
65− match (Indexer index val) = Just (prettyPrintValue index, val)
65+ match (Indexer index val) = Just (index, val)
66 match _ = Nothing
66 match _ = Nothing
68objectUpdate :: Pattern Value ([String], Value)
68objectUpdate :: Pattern Value ([String], Value)
@@ -109,11 +109,11 @@ prettyPrintValue = fromMaybe (error "Incomplete pattern") . pattern matchValue
109 operators :: OperatorTable Value String
109 operators :: OperatorTable Value String
110 operators =
110 operators =
111 OperatorTable [ [ Wrap accessor $ \prop val -> val ++ "." ++ prop ]
111 OperatorTable [ [ Wrap accessor $ \prop val -> val ++ "." ++ prop ]
112− , [ Wrap indexer $ \index val -> val ++ "[" ++ index ++ "]" ]
113 , [ Wrap objectUpdate $ \ps val -> val ++ "{ " ++ intercalate ", " ps ++ " }" ]
112 , [ Wrap objectUpdate $ \ps val -> val ++ "{ " ++ intercalate ", " ps ++ " }" ]
114 , [ Wrap app $ \args val -> val ++ "(" ++ args ++ ")" ]
113 , [ Wrap app $ \args val -> val ++ "(" ++ args ++ ")" ]
115 , [ Split lam $ \args val -> "\\" ++ intercalate ", " args ++ " -> " ++ prettyPrintValue val ]
114 , [ Split lam $ \args val -> "\\" ++ intercalate ", " args ++ " -> " ++ prettyPrintValue val ]
116 , [ Wrap ifThenElse $ \(th, el) cond -> cond ++ " ? " ++ prettyPrintValue th ++ " : " ++ prettyPrintValue el ]
115 , [ Wrap ifThenElse $ \(th, el) cond -> cond ++ " ? " ++ prettyPrintValue th ++ " : " ++ prettyPrintValue el ]
116+ , [ AssocR indexer (\index val -> val ++ " ! " ++ index) ]
117 , [ binary LessThan "<" ]
117 , [ binary LessThan "<" ]
118 , [ binary LessThanOrEqualTo "<=" ]
118 , [ binary LessThanOrEqualTo "<=" ]
119 , [ binary GreaterThan ">" ]
119 , [ binary GreaterThan ">" ]