Eine verzögerte Auswertung von Ausdrücken kann dazu führen, dass ein Programmierer die Kontrolle über die Reihenfolge verliert, in der sein Code ausgeführt wird. Ich habe Probleme zu verstehen, warum dies von einem Programmierer akzeptiert oder gewünscht wird.
Wie kann dieses Paradigma verwendet werden, um vorhersehbare Software zu erstellen, die wie beabsichtigt funktioniert, wenn wir keine Garantie haben, wann und wo ein Ausdruck ausgewertet wird?
head . sort
hat O(n)
Komplexität durch Faulheit (nicht O(n log n)
). Siehe Lazy Evaluation und Zeitkomplexität .