Skip to content

pmihaly/envelopes

Repository files navigation

envelopes

GitHub CI Hackage Stackage Lts Stackage Nightly AGPL-3.0-only license

See README for more info

Usage

envelopes <finances.yaml | sponge finances.yaml

value objects:

  • Text50
  • Positive
  • Id
  • ShorthandNumber
  • Money ignoring currency
  • Money storing currency as string

state:

  • Envelope (Semigroup 'x and y', (+), Monoid '' Money.mempty)

event schema & apply events:

  • Transaction

    • Spending
    • Refill
  • State (envelopes :: HashMap (Id Envelope) Envelope, appliedTransactions :: HashSet (Id Envelope))

  • applyTransactions :: Foldable f => State -> f Transaction -> Either TransactionError State

  • delete envelopes if it contains ~0 money

  • read & write input file

nice to have:

About

Manage personal finances

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages