Formale/Mathematische Methoden in der Softwareentwicklung



  • Das siehst du leider falsch.

    Ich meine mit Programmzustand etwas anderes als du.

    Ausführungszeitpunkt einen beliebig großen Zustand durch die verschachtelten Funktionsaufrufe haben

    Das meine ich eben nicht. Und Turingmaechtigkeit ist hier nicht zentrales Thema, da es mir nicht um beliebige Programme geht.

    in the presence of higher-order functions

    Ja, das ist schwierig. Aber Neil Mitchell ist eben den anderen Weg gegangen und hat das higher-order-program in ein first-order-program umgewandelt (+ strictness analysis). Das ist ziemlich einfach. So heisst der Titel des Videos: Losing Functions Without Gaining Data - Another Look at Defunctionalisation, das erste war nicht das, was ich meinte. Das Video von 26 Minuten fand ich sehr interessant

    In ML oder Haskell ist das Typsystem aequivalent zu einem Theorembeweiser. Damit laesst sich schon viel machen. Zieht man zu den Typen noch mehr Informationen hinzu, kann man noch mehr machen ...



  • knivil schrieb:

    Ich meine mit Programmzustand etwas anderes als du.

    Ja, eben das falsche 🤡. Nur weil es in rein funktionellen Programmiersprachen keine expliziten Zustandsvariablen gibt, heißt das nicht, dass es keinen Zustand gibt ;).



  • Ja, aber darum muss ich mir doch keine Gedanken machen.



  • Danke für eure Beiträge. Habe mich nun etwas in Haskell eingearbeitet und bin relativ begeistert, wie formal man die Programmierung gestalten kann. Werde mich nun zunächst eingehender mit dieser Sprache beschäftigen.


Anmelden zum Antworten