2
Ich versuche, einen rekursiven Datentyp mit zu implementieren. Ich würde gerne in der Lage sein, es zu drucken.Haskell: Ableiten zeigen für Fix-Typen
import Data.Functor.Foldable
data T1F a = Foo deriving Show
type T1 = Fix T1F
data T2 = Bar T1 deriving Show -- error here
Fehlermeldung:
No instance for (Data.Functor.Classes.Show1 T1F)
arising from the first field of ‘Bar’ (type ‘T1’)
Possible fix:
use a standalone 'deriving instance' declaration,
so you can specify the instance context yourself
When deriving the instance for (Show T2)
Wie kann ich machen T1
Show
ableiten?
Die Fehlermeldung sagt Ihnen, das Problem. Sie benötigen eine Instanz von ['Show1'] (https://hackage.haskell.org/package/base-4.9.1.0/docs/Data-Functor-Classes.html#t:Show1) für' T1F'. Instanzen von 'Show1' von Hand zu schreiben kann ziemlich mühsam sein. Glücklicherweise hat das ['deriving-compat] (https://hackage.haskell.org/package/deriving-compat) -Paket [hat dir den Rücken frei] (https://hackage.haskell.org/package/deriving-compat- 0.3.5/docs/Text-Zeigen-Ableiten.html # v: ablseShow1). –