Wie man Programme auf Typebene debuggt

Ich versuche, eine Programmierung auf Hoopy-Typebene durchzuführen, aber das funktioniert einfach nicht. Ich reiße mir die Haare aus und versuche herauszufinden, warum der GHC überhaupt nicht auf die von mir gewünschten Typensignaturen schließen kann.

Gibt es eine Möglichkeit, GHC zu machenSag mi was macht es?

Ich habe es versucht-ddump-tc, das nur die endgültigen Typensignaturen ausgibt. (Ja, sie liegen falsch. Danke, das wusste ich schon.)

Ich habe es auch versucht-ddump-tc-trace, das ~ 70KB unverständlichen Kauderwelsch ausgibt. (Insbesondere kann ich keine benutzerdefinierten Bezeichner sehen, die als @ angegeben wurdenirgendw.)

Mein Code istso na funktioniert, aber irgendwie erscheint immer wieder eine zusätzliche Typvariable. Aus irgendeinem Grund kann GHC nicht erkennen, dass diese Variable vollständig bestimmt werden sollte. In der Tat, wenn ichmanuel Schreiben Sie die Fünf-Meilen-Typ-Signatur, GHC akzeptiert sie gerne. Mir fehlt also ganz klar irgendwo eine Einschränkung ...aber wo?!> _ <

Antworten auf die Frage(2)

Ihre Antwort auf die Frage