Haskell vs Lisp vs Scheme etc für KI usw
-
@Christoph: Ich habe noch nicht so viel Ahnung von Monaden und bei der State-Monad sehe ich ein, dass diese rein funktional ist.
Auch bei der Eingabe faellt mir keine geeignete Argumentation ein, wohl aber bei der Ausgabe.
Zum Beispiel gibt ja auch die Funktion putStrLn immer den gleichen Wert zurueck, keine Frage, aber sie veraendert doch die "Welt" (es wird auf stdout geschrieben). Wie ist das mit dem "rein" funktionalen Gedanken vereinbar?
-
Doktor Prokt schrieb:
Zum Beispiel gibt ja auch die Funktion putStrLn immer den gleichen Wert zurueck, keine Frage, aber sie veraendert doch die "Welt" (es wird auf stdout geschrieben). Wie ist das mit dem "rein" funktionalen Gedanken vereinbar?
Die "Welt" ist in gewisser Weise ein Parameter und wird herumgereicht. putStrLn nimmt nicht nur einen String, sondern auch die aktuelle "Welt" und liefert die neue "Welt" zurück. getLine nimmt die aktuelle "Welt" und liefert einen String und eine neue "Welt" zurück.
-
Zur Frage, warum alle immer Lisp empfehlen:
Ist ja ganz logisch. Wir sind ja auch in Lisp geschrieben...
Beweis:
-
zum mitsingen: http://www.gnu.org/fun/jokes/eternal-flame.html