On 30 August 2012 15:34, Alexander Bernauer <alex-haskell@copton.net> wrote:
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