Ich habe mir die algo.monads und fluokitten Dokumentation angesehen. Ich habe auch Monad Blog-Einträge von Jim Duey, Konrad Hinsen und Leonardo Borges gelesen.Ist es möglich, die IO Monade von Haskell in Clojure zu tun?
Die nächstgelegene ich finden kann, ist Konrad Hinsen's library Monadic IO streams - aber das scheint nicht zu (in Ermangelung einer besseren Phrasierung) ‚die Monade Schnittstelle zu implementieren‘
Dies ist am Beispiel ST in Haskell
oneST :: ST s Int -- note that this works correctly for any s
oneST = do var <- newSTRef 0
modifySTRef var (+1)
readSTRef var
one :: Int
one = runST oneST
Meine Frage ist: Ist es möglich, die IO Monad from Haskell in Clojure zu tun? Können Sie ein Beispiel geben?
Ist Clojure keine dynamisch typisierte Sprache? Was wäre dann der Vorteil von Monaden wie IO oder ST? Ausnahmen bei illegalen Operationen werfen?Dies könnte besser sein, als später im Programmablauf mit den Auswirkungen illegaler Operationen fertig zu werden. – ziggystar
Welche Besonderheiten von Haskell 'IO' möchten Sie in Clojure wiederverwenden? –
Ja, das ist möglich. – augustss