
16 Jan
2009
16 Jan
'09
3:12 a.m.
add2 :: JSON a => MyData -> String -> a -> MyData add2 m k v = fromJust $ (\js -> m { json = js }) `liftM` (showJSON `liftM` (toJSObject `liftM` (((k, showJSON v):) `liftM` (fromJSObject `liftM` (jsObj $ json m)))))
setJSON m js = m {json = js} add2 m k v = fromJust $ setJSON m <$> showJSON <$> toJSObjct <$> ((k, showJSON v):) <$> fromJSObject <$> (jsObj . json $ m) now let's push all the fmaps together: add2 m k v = fromJust . fmap (setJSON m . showJSON . toJSObject . ((k, showJSON v):) . fromJSObject) . jsObj . json $ m much better :) Bob