packages feed

Cabal revisions of vec-0

Hackage metadata revisions edit the .cabal file after upload; each diff below is one revision.

revision 1
 name:                vec version:             0-synopsis:            Nat, Fin and Vec types.+x-revision:          1+synopsis:            Vec: length-indexed (sized) list description:-  This package provides length indexed lists, i.e. 'Vec'.+  This package provides length-indexed (sized) lists, also known as vectors.   .   @   data Vec n a where-      VNil  :: Vec 'Nat.Z a-      (:::) :: a -> Vec n a -> Vec ('Nat.S n) a+  \    VNil  :: Vec 'Nat.Z a+  \    (:::) :: a -> Vec n a -> Vec ('Nat.S n) a   @   .   The functions are implemented in three flavours:   As best approach depends on the application, @vec@ doesn't do any magic   transformation. Benchmark your code.   .-  Differences to other packages:+  This package uses [fin](https://hackage.haskell.org/package/fin), i.e. not @GHC.TypeLits@, for indexes.   .-  * [linear](http://hackage.haskell.org/package/linear) has 'V' type,+  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+  .+  * [linear](https://hackage.haskell.org/package/linear) has 'V' type,     which uses 'Vector' from @vector@ package as backing store.-    `Vec` is a real GADT, but tries to provide as many useful instances (upto @lens@).+    @Vec@ is a real GADT, but tries to provide as many useful instances (upto @lens@).   .-  * [sized-vector](http://hackage.haskell.org/package/sized-vector) depends-    on @singletons@ package. `vec` isn't light on dependencies either,+  * [vector-sized](https://hackage.haskell.org/package/vector-sized)+    Great package using @GHC.TypeLits@. Current version (0.6.1.0) uses+    @finite-typelits@ and @Int@ indexes.+  .+  * [sized-vector](https://hackage.haskell.org/package/sized-vector) depends+    on @singletons@ package. @vec@ isn't light on dependencies either,     but try to provide wide GHC support.+  .+  * [fixed-vector](https://hackage.haskell.org/package/fixed-vector)   .   * [sized](https://hackage.haskell.org/package/sized) also depends     on a @singletons@ package. The @Sized f n a@ type is generalisation of