fin-0: fin.cabal
name: fin
version: 0
synopsis: Nat and Fin
description:
This package provides two simple types, and some tools to work with them.
Also on type level as @DataKinds@.
.
@
data Nat = Z | S Nat
data Fin (n :: Nat) where
Z :: Fin n
S :: Fin n -> Fin ('Nat.S n)
@
.
The "Data.Fin.Enum" module let's work generically with enumerations.
.
Differences to other packages:
.
* [type-natural](http://hackage.haskell.org/package/type-natural) depends
on @singletons@ package. `fin` will try to stay light on the dependencies,
and support as many GHC versions as practical.
.
* [peano](http://hackage.haskell.org/package/peano) is very incomplete
.
* [nat](http://hackage.haskell.org/package/nat) as well.
.
* [PeanoWitnesses](https://hackage.haskell.org/package/PeanoWitnesses)
doesn't use @DataKinds@.
.
* [type-combinators](http://hackage.haskell.org/package/type-combinators)
is big package too.
homepage: https://github.com/phadej/vec
bug-reports: https://github.com/phadej/vec/issues
license: BSD3
license-file: LICENSE
author: Oleg Grenrus <oleg.grenrus@iki.fi>
maintainer: Oleg.Grenrus <oleg.grenrus@iki.fi>
copyright: (c) 2017 Oleg Grenrus
category: Data
build-type: Simple
extra-source-files: ChangeLog.md
cabal-version: >=1.10
tested-with:
GHC==7.8.4,
GHC==7.10.3,
GHC==8.0.2,
GHC==8.2.1
source-repository head
type: git
location: https://github.com/phadej/vec.git
library
exposed-modules:
Data.Fin
Data.Fin.Enum
Data.Nat
Data.Type.Nat
build-depends:
base >=4.7 && <4.11,
deepseq >=1.3.0.2 && <1.5,
hashable >=1.2.6.1 && <1.3
if !impl(ghc >= 8.0)
build-depends:
semigroups >=0.18.3 && <0.18.4
if !impl(ghc >= 7.10)
build-depends:
nats >=1 && <1.2,
void >=0.7.2 && <0.8
ghc-options: -Wall -fprint-explicit-kinds
hs-source-dirs: src
default-language: Haskell2010
-- dump-core
-- if impl(ghc >= 8.0)
-- build-depends: dump-core
-- ghc-options: -fplugin=DumpCore -fplugin-opt DumpCore:core-html
test-suite inspection
type: exitcode-stdio-1.0
main-is: Inspection.hs
ghc-options: -Wall -fprint-explicit-kinds
hs-source-dirs: test
default-language: Haskell2010
build-depends:
base,
fin,
tagged,
inspection-testing >= 0.1.2 && <0.2
if !impl(ghc >= 8.0)
buildable: False
-- useful for development
ghc-options:
-- -dsuppress-idinfo
-- -dsuppress-coercions
-- -dsuppress-type-applications
-- -dsuppress-module-prefixes
-- -dsuppress-type-signatures
-- -dsuppress-uniques