Ich verwende das aeson
-Paket. Ich habe einen Datentyp, der Data.Tree
in seiner Deklaration verwendet. Wie die folgenden, nur komplexer:So vermeiden Sie das Erstellen einer verwaisten FromJSON-Instanz für Data.Tree
data Foo = Foo {
bat :: Text
, xux :: Maybe Text
, tri :: Tree Text
}
Ich möchte Data.Aeson.TH
verwenden, um eine FromJSON
Beispiel für diese Art zu erzeugen.
$(deriveJSON defaultOptions ''Foo)
Aber Data.Tree
hat keine Standard-Instanz für FromJSON
, was bedeutet, dass ich brauchen würde eine Waise instace zu erklären.
Gibt es eine Möglichkeit zu vermeiden, diese verwaiste Instanz zu erstellen und trotzdem deriveJSON
zu verwenden?
Wird dies in einer Bibliothek verwendet oder ist es für eine Anwendung, die Sie schreiben? Wenn es sich um eine Anwendung handelt, ist an einer verwaisten Instanz nichts falsch. –
@Gabriel Gonzalez Es wird in einer Bibliothek verwendet werden. – danidiaz