Cabal revisions of fin-0
Hackage metadata revisions edit the .cabal file after upload; each diff below is one revision.
revision 1
-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+name: fin +version: 0 +x-revision: 1 +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 ('Nat.S 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.19 + + 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
revision 2
-name: fin -version: 0 -x-revision: 1 -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 ('Nat.S 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.19 - - 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 +name: fin+version: 0+x-revision: 2+synopsis: Nat and Fin: peano naturals and finite numbers+description:+ This package provides two simple types, and some tools to work with them.+ Also on type level as @DataKinds@.+ .+ @+ \-- Peano naturals+ data Nat = Z | S Nat+ .+ \-- Finite naturals+ data Fin (n :: Nat) where+ \ Z :: Fin ('S n)+ \ S :: Fin n -> Fin ('Nat.S n)+ @+ .+ [vec](https://hackage.haskell.org/package/vec) implements length-indexed+ (sized) lists using this package for indexes.+ .+ The "Data.Fin.Enum" module let's work generically with enumerations.+ .+ See [Hasochism: the pleasure and pain of dependently typed haskell programming](https://doi.org/10.1145/2503778.2503786)+ by Sam Lindley and Conor McBride for answers to /how/ and /why/.+ Read [APLicative Programming with Naperian Functors](https://doi.org/10.1007/978-3-662-54434-1_21)+ by Jeremy Gibbons for (not so) different ones.+ .+ === Similar packages+ .+ * [finite-typelits](https://hackage.haskell.org/package/finite-typelits)+ . Is a great package, but uses @GHC.TypeLits@.+ .+ * [type-natural](https://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](https://hackage.haskell.org/package/peano) is very incomplete+ .+ * [nat](https://hackage.haskell.org/package/nat) as well.+ .+ * [PeanoWitnesses](https://hackage.haskell.org/package/PeanoWitnesses)+ doesn't use @DataKinds@.+ .+ * [type-combinators](https://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.19++ 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