Abstract FilePath Proposal

Neil Mitchell ndmitchell at gmail.com
Sat Jun 27 10:12:43 UTC 2015


Hi Niklas,

The function writeFile takes a FilePath. We could fork base or tell
everyone to use writeFile2, but in practice everyone will keep using
writeFile, and this String for FilePath. This approach is the only thing we
could figure that made sense.

Henning: we do not propose normalisation on initialisation. For ASCII
strings fromFilePath . toFilePath will be id. It might also be for unicode
on some/all platforms. Of course, you can write your own FilePath creator
that does normalisation on construction.

Thanks, Neil

On Saturday, 27 June 2015, Niklas Larsson <metaniklas at gmail.com
<javascript:_e(%7B%7D,'cvml','metaniklas at gmail.com');>> wrote:

> Hi!
>
> Instead of trying to minimally patch the existing API and still breaking
> loads of code, why not make a new API that doesn't have to compromise and
> depreciate the old one?
>
> Niklas
> ------------------------------
> Från: Herbert Valerio Riedel
> Skickat: ‎2015-‎06-‎26 18:09
> Till: libraries at haskell.org; ghc-devs at haskell.org
> Ämne: Abstract FilePath Proposal
>
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> Hello *,
>
> What?
> =====
>
> 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?
> =============
>
> For details (including motivation and a suggested transition scheme)
> please consult
>
>   https://ghc.haskell.org/trac/ghc/wiki/Proposal/AbstractFilePath
>
>
>
> Suggested discussion period: 4 weeks
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v1
>
> iQIcBAEBAgAGBQJVjXkZAAoJELo8uj/+IrV0WXUP/0romoKazwLbQpaMAKgCNZon
> BsY8Di44w6rkbdBXoky0xZooII8LJJyQfexH0BLRYEVLZFy0+LB8XzpPt8Ekg526
> YlY4x0qFm9oiJbJDMqHUnb6z6Lr2KxzBcV37drTPbltUA+HB49DUVkkPbvHimpL2
> 28SIyhAr4fN6fLpGcFAkv6Rcs0mkvnTp7vsC0HNyshmGi6qQ+C+eB4mklQzWOPcn
> koHZ2wtI8AJmyTdHKcXKAIFM0r+xl4MJ5445IvDjvIuGXZCzybXMw9Ss/4wSG3VN
> qSIJVEDGZXrBCc12fPxPEB0Bqx9MIVytjplXKIo8rFrk93h3at9t9kDM26z+9PZ5
> KYnEdjRKF4KL4j+3xqJDOEJT15GVRbGRRzb9A8xH0YIQ0S3Q3pt1PAfla1Hss75+
> NRQgfowZYryL9dfCkAj2XNfdQ+pUk25N3bNig11se+zjk2JO77QRM0u3GOYZ9+CU
> tSlwhtIMF32xnjgQyWE5yBBiEg3/Y+S+809tVaPseUEzkQJXMGq5TFxBrN6bj1Vm
> awr6QghThKjeoRwky5bmFn/gept/lbYN6VV5B6gNznGP5xgFrmvVtmjbQJBRMYCv
> aEUnrYqxkkbIddJjD5gl771/LWH4M2F1yBgJjfiZw2paEVAXKxEr327LsbOQaPdb
> HjIPRrJbVK9AABo4AZ/Y
> =lg0o
> -----END PGP SIGNATURE-----
> _______________________________________________
> ghc-devs mailing list
> ghc-devs at haskell.org
> http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/ghc-devs/attachments/20150627/1b747af4/attachment.html>


More information about the ghc-devs mailing list