Beispiele für eine Monade, deren Anwendungsteil besser optimiert werden kann als der Monadenteil

In einer Diskussion habe ich das gehörtApplicative Schnittstelle einiger Parser ist anders implementiert, effizienter als ihreMonad Schnittstelle. Der Grund ist, dass mitApplicative Wir kennen alle "Effekte" im Voraus, bevor die gesamte effektive Berechnung ausgeführt wird. Bei Monaden können die Effekte während der Berechnung von Werten abhängen, sodass diese Optimierung nicht möglich ist.

Ich würde gerne einige gute Beispiele dafür sehen. Es kann ein sehr einfacher Parser oder eine andere Monade sein, das ist nicht wichtig. Das Wichtige ist, dass dieApplicative Schnittstelle einer solchen Monade entspricht seinerreturn undap, aber mit demApplicative Erzeugt effizienteren Code.

Aktualisieren: Zur Verdeutlichung: Ich interessiere mich hier nicht für Bewerber, die keine Monaden sein können. Die Frage handelt von Dingen, die beides sind.

Antworten auf die Frage(3)

Ihre Antwort auf die Frage