Sto cercando di acquisire familiarità con Haskell sviluppando servizi Web-app-ish.Haskell Webserver: mantenimento dello stato dell'applicazione
Dire che sto sviluppando un server Web e voglio mantenere lo stato persistente tra le richieste; un contatore, per esempio. Qual è il modo Haskell di fare le cose?
Mi sono imbattuto in questo discussion sulla mia ricerca Google. La soluzione proposta sembra un buon esempio di cosa non fare.
Un'idea che avevo stavo avendo il gestore di richieste prendere in MVAR:
requestHandler :: MVar State -> IO (Maybe Response)
Quando si registra il gestore, potrebbe essere al curry con un MVAR creato nel principale.
Ci deve essere un modo migliore. Non posso fare a meno di pensare che mi sto avvicinando a questo problema in modo non funzionale.
Grazie!
Perché cercare di portare lo stato persistente sul server stesso? Sembra che Haskell si abbinerebbe molto meglio con un design RESTful. –
Che cos'è "non funzionale" per questo approccio? Hai uno stato che devi condividere, quindi lo avvolgi e passa attorno al riferimento. A me sembra piuttosto semplice. – sclv
sclv: Mi chiedo se ci sia stato più di un approccio FRP. – David