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