Metadata revisions for fin-0
Package maintainers and Hackage trustees are allowed to edit certain bits
of package metadata after a release, without uploading a new tarball.
Note that the tarball itself is never changed, just the metadata that is
stored separately. For more information about metadata revisions, please
refer to the
Hackage Metadata Revisions FAQ.
No. |
Time |
User |
SHA256 |
-r2 (fin-0-r2) |
2017-11-29T19:24:47Z |
phadej |
b0d8681b5233da8d637d760571c31caf1ee8409cafa5f19815908e49442c0aba
|
|
Changed synopsis
from Nat and Fin
to Nat and Fin: peano naturals and finite numbers Changed description
from 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.
to 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.
|
-r1 (fin-0-r1) |
2017-11-21T12:21:42Z |
phadej |
b0bfc83ba2268af0e14bc9fe34c4106dcceaae13af601ea949b2f1776e413652
|
|
Changed description
from 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.
to 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. Changed the library component's library dependency on 'semigroups'
from >=0.18.3 && <0.18.4
to >=0.18.3 && <0.19
|
-r0 (fin-0-r0) |
2017-11-21T12:17:41Z |
phadej |
886147874a226bc8b5476d35662fccfbb3f402e14c2729e1241346110c736838
|
|
|