incremental: incremental update library

[ bsd3, data, library ] [ Propose Tags ]

Generic interface for incremental updates


[Skip to Readme]
Versions [faq] 0, 0.1, 0.1.1, 0.2, 0.3, 0.3.1
Change log CHANGELOG.md
Dependencies aeson, base (>=4.8 && <5), bytestring, containers, deepseq, semigroups, text [details]
License BSD-3-Clause
Copyright 2020 Fumiaki Kinoshita
Author Fumiaki Kinoshita
Maintainer fumiexcel@gmail.com
Category Data
Home page https://github.com/fumieval/incremental#readme
Source repo head: git clone https://github.com/fumieval/incremental
Uploaded by FumiakiKinoshita at 2020-09-19T05:48:59Z
Distributions NixOS:0.3.1
Downloads 1380 total (27 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Hackage Matrix CI
Docs available [build log]
Last success reported on 2020-09-19 [all 1 reports]

Modules

[Index] [Quick Jump]

Downloads

Maintainer's Corner

For package maintainers and hackage trustees


Readme for incremental-0.3.1

[back to package description]

incremental: incremental update interface

Hackage Haskell CI Discord

This package provides a typeclass for incremental updates and diffing.

class Incremental a where
  -- | the difference type
  type Delta a
  -- | @'maybe' a ('patch' a) ('diff' b a) ≡ b@
  patch :: a -> Delta a -> a
  -- | returns 'Nothing' when there is no update
  diff :: a -> a -> Maybe (Delta a)