refined: Refinement types with static and runtime checking

[ data, library, mit ] [ Propose Tags ]

For an extensive introduction to the library please follow to this blog-post.


[Skip to Readme]

Flags

Manual Flags

NameDescriptionDefault
aeson

You can disable the use of the aeson package using `-f-aeson`.

This may be useful for accelerating builds in sandboxes for expert users.

Enabled
quickcheck

You can disable the use of the QuickCheck package using `-f-QuickCheck`.

This may be useful for accelerating builds in sandboxes for expert users.

Enabled

Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info

Downloads

Note: This package has metadata revisions in the cabal description newer than included in the tarball. To unpack the package including the revisions, use 'cabal get'.

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees

Candidates

Versions [RSS] 0.1.0.0, 0.1.1.0, 0.1.2, 0.1.2.1, 0.2.0.0, 0.2.1.0, 0.2.2.0, 0.2.3.0, 0.3.0.0, 0.4, 0.4.1, 0.4.2, 0.4.2.1, 0.4.2.2, 0.4.3, 0.4.4, 0.5, 0.5.1, 0.6, 0.6.1, 0.6.2, 0.6.3, 0.7, 0.8, 0.8.1 (info)
Change log changelog.md
Dependencies aeson (>=0.9), base (>=4.11 && <4.20), bytestring (>=0.10), deepseq (>=1.4), exceptions (>=0.8), hashable (>=1.0), mtl (>=2.2.2), QuickCheck (>=2.1), template-haskell (>=2.9), text (>=1.2), these-skinny (>=0.7.5) [details]
License MIT
Copyright Copyright © 2015, Nikita Volkov Copyright © 2018, Remy Goldschmidt Copyright © 2020, chessai
Author Nikita Volkov <nikita.y.volkov@mail.ru>
Maintainer chessai <chessai1996@gmail.com>
Revised Revision 1 made by chessai at 2024-04-30T19:46:35Z
Category Data
Home page https://github.com/nikita-volkov/refined
Bug tracker https://github.com/nikita-volkov/refined/issues
Source repo head: git clone git://github.com/nikita-volkov/refined.git
Uploaded by chessai at 2023-04-05T08:00:01Z
Distributions LTSHaskell:0.8.1, NixOS:0.8.1
Reverse Dependencies 18 direct, 2 indirect [details]
Downloads 12992 total (93 in the last 30 days)
Rating 2.25 (votes: 2) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs uploaded by user
Build status unknown [no reports yet]

Readme for refined-0.8.1

[back to package description]

refined

Build Status

In type theory, a refinement type is a type endowed with a predicate which is assumed to hold for any element of the refined type.

This library allows one to capture the idea of a refinement type using the Refined type. A Refined p x wraps a value of type x, ensuring that it satisfies a type-level predicate p.

A simple introduction to this library can be found here: http://nikita-volkov.github.io/refined/