haspara: A library providing definitions to work with monetary values.

[ finance, library, mit ] [ Propose Tags ]
Versions [RSS] 0.0.0.0, 0.0.0.1, 0.0.0.2, 0.0.0.3, 0.0.0.4, 0.0.0.5
Change log CHANGELOG.md
Dependencies aeson (>=1.5.6.0 && <2.1), base (>=4.11 && <5), containers (>=0.6.4.1 && <0.7), exceptions (>=0.10.4 && <0.11), hashable (>=1.3.0.0 && <1.4), megaparsec (>=9.0.1 && <9.3), mtl (>=2.2.2 && <2.3), refined (>=0.6.3 && <0.7), safe-decimal (>=0.2.1.0 && <0.3), scientific (>=0.3.7.0 && <0.4), template-haskell (>=2.16.0.0 && <2.18), text (>=1.2.4.1 && <1.3), time (>=1.9.3 && <1.10) [details]
License MIT
Copyright Copyright (c) 2021-2022 Telostat Pte Ltd
Author Vehbi Sinan Tunalioglu
Maintainer vst@vsthost.com
Category Finance
Home page https://github.com/telostat/haspara#readme
Bug tracker https://github.com/telostat/haspara/issues
Source repo head: git clone https://github.com/telostat/haspara
Uploaded by vst at 2022-06-17T08:08:05Z
Distributions NixOS:0.0.0.5
Downloads 111 total (4 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs available [build log]
Last success reported on 2022-06-17 [all 1 reports]

Readme for haspara-0.0.0.3

[back to package description]

haspara

Hackage version GitHub release (latest by date) GitHub contributors GitHub

Note: This software is under development and of prototype quality at the moment. Expect significant breaking changes without notification until we reach the first minor version. Until then, we will keep bumping the patch version.

haspara is a Haskell library that provides monetary definitions and a rudimentary (and experimental) accounting functionality.

Development

Before committing code to repository, reformat the code:

stylish-haskell -i -r src/

Compile the codebase, check warnings and errors:

stack test
stack build
stack haddock

Run hlint:

hlint src/

Run weeder:

weeder --require-hs-files

Making Releases

  1. Switch to develop branch:

    git checkout develop
    
  2. Ensure that your development branch is up to date:

    git pull
    
  3. Checkout main branch:

    git checkout main
    
  4. Merge develop branch to main:

    git merge --no-ff develop
    
  5. Update the version information in package.yaml if required and recompile the project to reflect the change on the .cabal file:

    stack build
    
  6. Update CHANGELOG.md file:

    git-chglog --next-tag <NEW-VERSION> -o CHANGELOG.md
    
  7. Commit, tag and push:

    git commit -am "chore(release): <NEW-VERSION>"
    git tag -a -m "Release <NEW-VERSION>" <NEW-VERSION>
    git push --follow-tags origin main
    
  8. Release to Hackage as a candidate first and check the result:

    stack upload --candidate .
    
  9. If the candidate package release works fine, release to Hackage:

    stack upload .
    
  10. Checkout to develop and rebase onto main:

    git checkout develop
    git rebase main
    
  11. Update the version information in package.yaml with the upcoming version and recompile the project to reflect the change on the .cabal file:

    stack build
    
  12. Commit and push:

    git commit -am "chore: bump development version to <UPCOMING-VERSION>"
    git push
    

License

Copyright Telostat Pte Ltd (c) 2021-2022.

This work is licensed under MIT license. See LICENSE.