[Haskell-cafe] Monad of no `return` Proposal (MRP): Moving `return` out of `Monad`

Sven Panne svenpanne at gmail.com
Fri Oct 9 07:29:12 UTC 2015

2015-10-09 2:34 GMT+02:00 David Thomas <davidleothomas at gmail.com>:

> No, and I'm not sure just how well existing Hackage tooling/process
> matches the workflow (due mostly to ignorance of existing Hackage
> tooling/process).  To the degree that there's a mismatch, it may have
> reason sufficient to abandon the approach - or it may suggest
> improvements to tooling/process.

To be honest,  I can't really see how git can help with the versioning
issue at all. Let's think backwards: In the end, you must give your
compiler a single version of your code which works with. The common
solution for this is to run something before the actual compilation stage
(preprocessing), which picks the right parts from a single source. Let
assume that we don't want this preprocessing step, then you still have to
give your compiler a single correct version of your sources. How do you
want to accomplish that? Shipping separate source packages (be it via
Hackage or through some other means) for each version? This would be
maintenance hell and much work, especially when there is no 1:1
correspondence between branches and compilers/libraries (as was proposed
above). Furthermore, having to remember which stuff has been merged where,
solving merge conflicts, introducing new branches when compilers/libraries
change, etc. etc. requires extensive bookkeeping beyond git, to such an
extent that larger companies normally have several people working full-time
on such non-technical stuff. This is definitely not the way to go when you
want to encourage people to work on their free time in Haskell.

In a nutshell: IMHO having #ifdefs in the code is the lesser evil. If
somebody has a better, actually working idea, he can probably become a
millionaire quickly by selling this to the industry...
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/haskell-cafe/attachments/20151009/afe96962/attachment.html>

More information about the Haskell-Cafe mailing list