Comment #1 on issue 47 by anders.kaseorg: scion-thing-at-point gives Lisp
Looking at this more carefully, I think the problem was commit
897ec92f2ef81b802e1d975d61cc5b3c2fd29f94 “compatibility with AttoJSON
0.5.8”, in which the instance for JSON (Maybe a) was commented out:
instance (JSON a)=>JSON (Maybe a) where
toJSON (Nothing)=Dic.makeObject [(Dic.nothingC,JSNull)]
toJSON (Just a)=Dic.makeObject [(Dic.justC,toJSON a)]
fromJSON _ = fail "Maybe"
in favor of AttoJSON’s new instance:
instance JSON a => JSON (Maybe a) where
fromJSON JSNull = Just Nothing
fromJSON jso = fromJSON jso
toJSON (Just a) = toJSON a
toJSON Nothing = JSNull
This is an incompatible change in the wire protocol.
(AttoJSON’s instance actually kinda sucks, because for example
toJSON (Nothing :: Maybe (Maybe ())) == toJSON (Just Nothing :: Maybe
(Maybe ()))
.)