membrain-0.0.0.0: membrain.cabal
cabal-version: 2.4
name: membrain
version: 0.0.0.0
synopsis: Type-safe memory units
description:
@membrain@ provides @newtype@ wrapper for type-safe work with memory units
.
@
__newtype__ Memory (mem :: Nat) = Memory
\ { unMemory :: Natural
\ }
@
.
This data type stores memory unit value phantom type parameter which is
represented as type-level natural number.
The ideas behind this package are described in the following blog post:
.
* [Insane in the Membrain](https://kowainik.github.io/posts/membrain)
homepage: https://github.com/kowainik/membrain
bug-reports: https://github.com/kowainik/membrain/issues
license: MPL-2.0
license-file: LICENSE
author: Veronika Romashkina, Dmitrii Kovanikov
maintainer: Kowainik <xrom.xkov@gmail.com>
copyright: 2018-2019 Kowainik
category: Memory, Safe
build-type: Simple
extra-doc-files: README.md
, CHANGELOG.md
tested-with: GHC == 8.2.2
, GHC == 8.4.4
, GHC == 8.6.5
source-repository head
type: git
location: https://github.com/kowainik/membrain.git
common common-options
build-depends: base >= 4.10.1.0 && < 4.13
ghc-options: -Wall
-Wincomplete-uni-patterns
-Wincomplete-record-updates
-Wcompat
-Widentities
-Wredundant-constraints
-fhide-source-paths
-Wmissing-export-lists
-Wpartial-fields
default-language: Haskell2010
default-extensions: ConstraintKinds
DeriveGeneric
InstanceSigs
GeneralizedNewtypeDeriving
LambdaCase
OverloadedStrings
RecordWildCards
ScopedTypeVariables
StandaloneDeriving
TupleSections
TypeApplications
ViewPatterns
library
import: common-options
hs-source-dirs: src
exposed-modules: Membrain
Membrain.Base
Membrain.Constructors
Membrain.Memory
Membrain.Units
test-suite membrain-test
import: common-options
type: exitcode-stdio-1.0
hs-source-dirs: test
main-is: Spec.hs
other-modules: Test.Memory.Laws
Test.Memory.TypeLevel
Test.Memory.ValueLevel
build-depends: membrain
, hedgehog ^>= 1.0
, hspec ^>= 2.7.1
, type-spec ^>= 0.4.0.0
ghc-options: -threaded -rtsopts -with-rtsopts=-N
test-suite doctest
import: common-options
type: exitcode-stdio-1.0
hs-source-dirs: test
main-is: Doctest.hs
build-depends: doctest ^>= 0.16
, Glob
ghc-options: -threaded