On Fri, Jun 26, 2015 at 9:08 AM, Herbert Valerio Riedel <h...@gnu.org> wrote:
>
>
> We (see From: & CC: headers) propose, plain and simple, to turn the
> currently defined type-synonym
>
>   type FilePath = String
>
> into an abstract/opaque data type instead.
>
> Why/How/When?


​I've had success with a slightly different "How":

Phase 1: Replace FilePath with a type class, with instances for the old
FilePath (i.e. String) and the new implementation.

Phase 2:  Wait until a suitable amount of hackage builds without the string
instance.

Phase 3: Deprecate the String instance - move it to an old-filepath package.

Phase 4: Replace the type class with the new implementation
​
This way the new implementation is available immediately, packages can
begin converting at once, benefits can be assessed.
_______________________________________________
ghc-devs mailing list
ghc-devs@haskell.org
http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs

Reply via email to