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].

Reply via email to