Ich habe einen sehr zeitaufwändigen Algorithmus erstellt, der eine kurze Zeichenkette als Ergebnis liefert. Wenn ich versuche, sie zu drucken (über putStrLn), erscheint sie Zeichen für Zeichen auf dem Bildschirm. Ich habe verstanden, warum das passiert ist, und ich habe versucht, die Auswertung der Zeichenfolge vor dem eigentlichen Druck zu erzwingen.
myPrint !str = putStrLn str
Aber das hilft nur sehr wenig. Als ich das Programm im Debug-Modus laufen ließ, bemerkte ich, dass die !str-Auswertung nur für das erste Zeichen erzwungen wurde.
Weiß jemand, warum das so ist, und wie man damit umgehen kann?