Sto cercando di presentarmi a Riak con Haskell driver e sono bloccato con una semplice operazione put
. Sono confuso con la firma della funzione put
. e non c'è un solo esempio da nessuna parte là fuori.Driver Haskell Riak: fare una semplice operazione "put"
Quindi, con questa firma:
put :: (FromJSON c, ToJSON c, Resolvable c) => Connection -> Bucket
-> Key -> Maybe VClock -> c -> W -> DW -> IO (c, VClock)
Ho un paio di domande.
Che cos'è un Forse VClock? Devo generarlo in qualche modo o è sufficiente specificare solo nulla lì? E perché restituisco questa VClock nella tupla restituita?
Devo scrivere istanze FromJSON e ToJSON per ogni semplice valore che ho inserito anche se si tratta di un valore stringa semplice? Come se volessi mettere un valore "Stitch" con il tasto "Name", come lo faccio?
Che cos'è l'istanza Resolvable
? Come posso risolvere un valore di testo o stringa risolvibile? Capisco che devo definire la funzione resolve
ma non capisco cosa significa e come farlo.
Grazie per l'answer.I tipo di ottenuto il VClock. Ho capito che il valore deve essere un JSON. Capisco anche il Quorum.Ma non ho avuto il lato 'Resolvable' di esso. Quindi ogni volta che inserisco un valore devo renderlo un'istanza di 'Resolvable' e implementare la funzione' resolve', è corretto? Quindi, come scrivo questa funzione 'resolve'? Puoi mostrare un semplice esempio, per favore? –