Ich fange gerade mit FP an und ich benutze Scala, was vielleicht nicht der beste Weg ist, da ich immer auf einen imperativen Stil zurückgreifen kann, wenn es schwierig wird. Ich würde es einfach nicht tun. Ich habe eine sehr spezifische Frage, die auf eine größere Lücke in meinem Verständnis von FP hinweist.Was ist der * richtige * Weg, um einen POST in FP zu behandeln?
Wenn eine Webanwendung eine GET-Anforderung verarbeitet, möchte der Benutzer Informationen, die bereits auf der Website vorhanden sind. Die Anwendung muss die Daten nur irgendwie verarbeiten und formatieren. Der FB Weg ist klar.
Wenn eine Webanwendung eine POST-Anforderung verarbeitet, möchte der Benutzer die auf der Site gespeicherten Informationen ändern. Richtig, die Informationen werden normalerweise nicht in Anwendungsvariablen gespeichert, sie befinden sich in einer Datenbank oder in einer Flat-Datei, aber trotzdem habe ich das Gefühl, dass ich nicht richtig in der grokking FP bin.
Gibt es ein Muster für die Handhabung von Updates für statische Daten in einer FP-Sprache?
Mein vages Bild davon ist, dass die Anwendung die Anfrage und den dann aktuellen Stand der Site übergeben wird. Die Anwendung erledigt ihre Aufgabe und gibt den neuen Standort zurück. Wenn sich der aktuelle Site-Status seit dem Start der Anwendung nicht geändert hat, wird der neue Status zum aktuellen Status und die Antwort wird zurück an den Browser gesendet (das ist mein dunkles Bild von Clojures Stil); wenn der aktuelle Zustand geändert worden ist (von einem anderen Thread, na ja, passiert etwas anderes ...
IO per Definition ist zwingend notwendig – Cine
Sehen Sie, wenn Sie diesem Syllogismus folgen: (a) I/O ist zwingend erforderlich; (b) jedes nicht-triviale Programm erfordert I/O; daher ist jedes funktionale Programm trivial. Ich sage nicht, dass ich das glaube, ich sage nur, ich verstehe nicht, warum es falsch ist. Das ist die Essenz meiner ursprünglichen Frage. – Malvolio
Funktionelle Programmierung bedeutet, jemand anderen die I/O zu tun. :-D – ephemient