@@ -368,7 +368,15 @@ translateExpression (SForeign _ _ fun args)
368368
369369 | "[]" `isSuffixOf` fun
370370 , (obj:idx:[]) <- args =
371− concat [object obj, index idx]
371+ object obj ++ index idx
372+
373+ | "[" `isPrefixOf` fun && "]=" `isSuffixOf` fun
374+ , (obj:val:[]) <- args =
375+ concat [object obj, '[' : name ++ "]", assign val]
376+
377+ | "[" `isPrefixOf` fun && "]" `isSuffixOf` fun
378+ , (obj:[]) <- args =
379+ object obj ++ '[' : name ++ "]"
372380
373381 | "." `isPrefixOf` fun, "=" `isSuffixOf` fun
374382 , (obj:val:[]) <- args =