Haskell: let-Anweisung, kopiere den Datentyp in sich selbst mit / ohne Änderung funktioniert nicht

Ich möchte eine Datensatzsyntax mit einer Änderung in einem Feld aktualisieren, also habe ich Folgendes getan:

let rec = rec{field = 1}

Aber ich habe bemerkt, dass ich nicht drucken kannrec mehr bedeutet, der Compiler scheint in eine Endlosschleife zu geraten, wenn ich es versuche. Also habe ich versucht zu tun:

let a = 1 -- prints OK

let a = a -- now i can't print a (also stuck in a loop) 

So kann ich nicht tunlet a = a mit irgendeinem Typ, aber ich verstehe nicht warum und wie soll ich dieses Problem lösen.

BTW: währenddessen:

let b = a {...record changes..}

let a = b

works, scheint aber überflüssig.

Antworten auf die Frage(6)

Ihre Antwort auf die Frage