
On 30 August 2012 15:34, Alexander Bernauer
Hi
I agree that automatic code migration can solve this issue in large parts. The Python folks have done this to mitigate the transition from version 2 to version 3 [1].
On Thu, Aug 30, 2012 at 03:03:05PM +0200, Alexander Kjeldaas wrote:
perl -ni -e 'print unless /import Prelude hiding \(catch\)/' $(git grep 'import Prelude hiding (catch)')
I don't think regular expressions are powerful enough. This example does not match on hiding multiple names, for instance.
This was just an example, the CInt regexp handles multiple names, so regexps have no problems handling this. And it's a simple "git grep 'import.*Prelude.*catch'" to see if this actually is a problem or not. My point is that this works, fixes 99% of the cases, and is 1000x less work overall. Alexander
But writing proper 'HsModule -> HsModule' functions should be doable.
And when each release comes with a bunch of such functions, packages could be automatically migrated.
Greetings
Alex
[1] http://docs.python.org/library/2to3.html
-----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.10 (GNU/Linux)
iEYEARECAAYFAlA/a/oACgkQevm6Dd/q44nJXQCffaxEJ/NZEftgoZ7viAWMuBO3 +jkAnRTw+VCMQn1k9NibyKpkGMtwvrQw =ds3M -----END PGP SIGNATURE-----
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe