Expected type: ErrorT String IO Integer
Actual type: IO (Either String Integer)
Ich habe keine Ahnung, wo ich falsch liege. Immerhin sind diese Typen isomorph.
Natürlich, wenn ich meine Unterschrift Funktion ersetzen vonWarum wird der Compiler auf isomorphe Typen wütend?
ErrorT String IO Integer
zu
IO (Either String Integer)
Compiler ist glücklich, aber ich bin nicht glücklich, weil ich bin verwirrt.
Die complier prüft Typ Gleichheit, nicht Isomorphismus. Sonst wäre 'newtype' völlig nutzlos. Ich möchte auch nicht 'case True of Left() -> 1; Right() -> 2' zum Eintippen. – chi
Compiler und seine Frau fuhren heute zur Arbeit, als ein Polizist sie herüberzog. "Weißt du, warum ich dich hingezogen habe?" Fragt der Polizist. "Kein Offizier" -Compiler antwortet. "Sie fuhren ohne Sicherheitsgurt." "Sie müssen sich irren Offizier, ich hatte es an, sehen Sie!" Sie gehen hin und her, ob der Sicherheitsgurt für ein paar Minuten an war. Dann beugt sich der Polizist und sagt zu der Frau: "War Compiler ohne Sicherheitsgurt gefahren?" Die Frau antwortet: "Officer, nach vierzig Jahren Ehe mit dem Compiler, habe ich eine Sache gelernt. Streite niemals mit ihm, wenn er betrunken ist!" Compiler bekam ein Ticket. Deshalb ist er wütend. – Spade