Sto usando acid-state in un progetto e mi piace molto. Mi piace quanto sia facile aggiungere persistenza ai semplici tipi di dati Haskell senza molto standard.Usa il registro degli eventi come stato degli acidi in Haskell
Per quanto ne so, lo stato acido mantiene un registro degli eventi, invece di scrivere l'intero nuovo stato su ogni aggiornamento. Quello che sto cercando è un modo per riesaminare un registro delle recenti modifiche allo stato dall'interno dell'applicazione, come elenco (di sola lettura). (Qualcosa come git log
, anche se non ho bisogno di ramificazioni o di tornare a un commit precedente.)
Naturalmente posso scrivere nel mio file di registro separato con i dettagli di tutti i cambiamenti di stato, o anche il mio modello dati come una lista di diff, ma preferisco qualcosa che sia automatico e mi permetta di usare il più semplice datatypes il più possibile.
Esiste una libreria simile allo stato acido, o forse una funzionalità interna di stato acido che potrei usare per questo?
Guardando il codice sorgente per Acid-State, è possibile vedere come leggere il file degli eventi per ottenere un elenco di voci con il metodo di aggiornamento utilizzato e i dati, ma nessuno di questi è esposto nell'API. –