<div dir="auto">Even with a tool to automate it I know many authors would be very disturbed by such a huge diff in their code. On larger teams with many active branches this kind of sweeping change is quite difficult to maneuver.</div><br><div class="gmail_quote"><div dir="ltr">On Fri, Feb 8, 2019, 4:42 PM Bardur Arantsson <<a href="mailto:spam@scientician.net">spam@scientician.net</a> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On 08/02/2019 19.45, Edward Kmett wrote:<br>
> If we had a way (say a pragma or other syntactic form) to say that fmap<br>
> and map were somehow the 'same name' or something and so that defining<br>
> one was the same as defining the other, so that this tax didn't exist, I<br>
> could see how we might get there.<br>
> <br>
<br>
+1 for "the way"<br>
<br>
Most of these 'migrations' which are mostly syntactic should be<br>
automatable and really should be *automated* via some sort of tool<br>
support. I still haven't experienced a language where this sort of thing<br>
"just works", but IMO gofix and scalafix have sort of the right idea.<br>
<br>
(In Haskell we have the luxury of 'only' having to guarantee source<br>
compatibility.)<br>
<br>
If people are worried about having to add CPP sections, then I would<br>
submit it's very possible to convert diffs (between pre-fix to post-fix)<br>
to CPP. That, or one can usually create a *-compat library which<br>
contains the CPP and just use that as a dependency. Ugly, yes, but in<br>
practical terms it seems to be quite simple.<br>
<br>
Regards,<br>
<br>
_______________________________________________<br>
Libraries mailing list<br>
<a href="mailto:Libraries@haskell.org" target="_blank" rel="noreferrer">Libraries@haskell.org</a><br>
<a href="http://mail.haskell.org/cgi-bin/mailman/listinfo/libraries" rel="noreferrer noreferrer" target="_blank">http://mail.haskell.org/cgi-bin/mailman/listinfo/libraries</a><br>
</blockquote></div>