Weiter Zurück Inhalt

6. Vergleich mit imperativen Programmiersprachen

Durch die Verwendung von Monads werden in einer funktionalen Programmiersprache Berechnungen in einer vorbestimmten Reihenfolge ausgeführt. Dies kommt dem Einbetten einer imperativen Programmiersprache in die funktionale Sprache gleich. Die eingebette Sprache ist jedoch flexibler als die meisten normalen imperativen Programmiersprachen. Durch verändern der Definition des Monads lässt sich die Semantik der eingebetteten Sprache an das jeweilige Problem anpassen. Dies liegt daran, daß in imperativen Programmiersprachen Berechnungen immer implizit die Welt, also das IO-Monad, verwendet wird. Das Exception-Monad wird bei vielen Sprachen durch Spracherweiterungen unterstützt. Andere Monads, wie z.B. das Nichtdeterminismus-Monad läßt sich nur sehr schwierig in imperativen Programmiersprachen nachbilden.


Weiter Zurück Inhalt