Here's why:
* I would like `pipes` to eventually get into the Haskell Platform.
Depending on `void` delays that until the Haskell Platform supports
`ghc-7.10` (which is when Edward indicated he would merge `void` into
`base`).
* I want `pipes` to have a smaller dependency profile, both to speed up
installations, both with and without the Haskell platform already
installed. With the Haskell Platform installed this adds `void`,
`semigroups`, `nats`, and `unordered-containers`, which unnecessarily
slow down `pipes` installs. If you don't have the Haskell Platform
preinstalled (which is common when testing different `ghc` versions, or
developing using sandboxes) then you also pull in `bytestring`,
`hashable` and `text`.
* Even if you ignore installation times, these unnecessary dependencies
are more likely to cause dependency conflicts for beginners and they
even cause issues for experts. See this issue for an example:
https://github.com/Gabriel439/Haskell-Pipes-Library/issues/104
* The dependency profile keeps growing. After I added `void` as a
dependency, Edward added `hashable` and `text` as additional transitive
dependencies, to my dismay. Since it will be a while before `void` gets
merged into `base` there is a decent chance that he will add more
transitive dependencies before then.
* The `void` package doesn't really bring much to the table. The
replacement code in `pipes` is very small and once `void` does get
merged into `base` I can trivially switch to it without breaking
backwards compatibility just by making `X` a type synonym for `Void`.
So I decided that the cost of depending on `void` outweighed the benefits.
On 01/23/2014 04:19 PM, David Luposchainsky wrote:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
On 23.01.2014 22:20, Gabriel Gonzalez wrote:
Alright, so `pipes-4.1` is on Github and now uses the `X` type
instead of `Void`.
What's the rationale behind this? For me Void is already a pretty
standard type, and I appreciated the change from "C" to Void.
David
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.14 (GNU/Linux)
Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/
iQEcBAEBAgAGBQJS4N6iAAoJELrQsaT5WQUsT4MIAKgM/1VDf7g0BrziMNwq4K1j
NmNBqRoQga0B/ENWyvjqisxCoxc2uN90oyEttS+NsiZqMF/TvJH2t79x+LH4Tgd+
3Xad/4CNvdEV60cPgrFR3PdhSoDZ5mjR+8ArJ407ghdiFCZB14sOmWipd3qRmoUo
nOPXLS0dlXrx0UDdFAsMokpuRyQS0SjzvOo1S58du1A02n1bWw/eIozAXytRDZ4Y
c24Lswfxh5X3ZZhAvlOsJ4xwlDdcfPZnGVINX9LG6JyaUa7Ia55kDRkLPPm/e1z9
cz/3b/9w9FVaRexoIMlQ2K+wr94Vbn7SnqNexlBDBuCEPmCxFrxPIckifYmJz4c=
=ag0w
-----END PGP SIGNATURE-----
--
You received this message because you are subscribed to the Google Groups "Haskell
Pipes" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].