@@ -59,10 +59,10 @@ accessor = Pattern $ A.Kleisli match
5959 match (Accessor prop val) = Just (prop, val)
6060 match _ = Nothing
6161
62−indexer :: Pattern Value (String, Value)
62+indexer :: Pattern Value (Value, Value)
6363indexer = Pattern $ A.Kleisli match
6464 where
65− match (Indexer index val) = Just (prettyPrintValue index, val)
65+ match (Indexer index val) = Just (index, val)
6666 match _ = Nothing
6767
6868objectUpdate :: Pattern Value ([String], Value)
@@ -109,11 +109,11 @@ prettyPrintValue = fromMaybe (error "Incomplete pattern") . pattern matchValue
109109 operators :: OperatorTable Value String
110110 operators =
111111 OperatorTable [ [ Wrap accessor $ \prop val -> val ++ "." ++ prop ]
112− , [ Wrap indexer $ \index val -> val ++ "[" ++ index ++ "]" ]
113112 , [ Wrap objectUpdate $ \ps val -> val ++ "{ " ++ intercalate ", " ps ++ " }" ]
114113 , [ Wrap app $ \args val -> val ++ "(" ++ args ++ ")" ]
115114 , [ Split lam $ \args val -> "\\" ++ intercalate ", " args ++ " -> " ++ prettyPrintValue val ]
116115 , [ Wrap ifThenElse $ \(th, el) cond -> cond ++ " ? " ++ prettyPrintValue th ++ " : " ++ prettyPrintValue el ]
116+ , [ AssocR indexer (\index val -> val ++ " ! " ++ index) ]
117117 , [ binary LessThan "<" ]
118118 , [ binary LessThanOrEqualTo "<=" ]
119119 , [ binary GreaterThan ">" ]