[Haskell-cafe] RE: ANN: System.FilePath 0.9
Udo Stenzel
u.stenzel at web.de
Thu Jul 27 15:59:37 EDT 2006
Andrew Pimlott wrote:
> On Wed, Jul 26, 2006 at 05:06:41PM -0400, David Roundy wrote:
> > This doesn't apply uniformly to all programs--except that we can say
> > that any path with a trailing '/' is intended to be a directory, and
> > if it's not, then that's an error.
>
> I thought some more about this, and I think the right way to handle this
> is on parsing and printing.
Amen.
> After all, the trailing slash has no real
> meaning for any intermediate processing you might do.
Here I beg to differ. I'd expect:
*> setFileName "foo" "bar" == "bar"
*> setFileName "foo/" "bar" == "foo/bar"
In fact, that's consistent with the current documentation, because
*> getFileName "foo" == "foo"
*> getFileName "foo/" == ""
No matter whether I'm correct, whether my expectation is natural or
practical and whether others agree, the bahaviour has to be clearly
specified and the final slash certainly isn't unimportant.
> readPath :: String -> (Path, Bool {- trailing delimiter -})
> showPath :: Path -> String
> showPathTrailingSlash :: Path -> String
>
> This is far simpler than trying to figure out what the slash means for
> every path operation.
It's also far uglier... besides, it isn't about the slash, it is about
the difference between file and directory.
Udo.
--
If you cannot in the long run tell everyone what you have been doing,
your doing was worthless.
-- Erwin Schrödinger
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: Digital signature
Url : http://www.haskell.org//pipermail/haskell-cafe/attachments/20060727/99cec53a/attachment-0001.bin
More information about the Haskell-Cafe
mailing list