chicken-hackers
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Chicken-hackers] [PATCH 3/4] Remove ##sys#expand-home-path.


From: Alaric Snell-Pym
Subject: Re: [Chicken-hackers] [PATCH 3/4] Remove ##sys#expand-home-path.
Date: Mon, 18 Mar 2013 14:30:13 +0000
User-agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.18) Gecko/20110617 Thunderbird/3.1.11

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On 03/16/2013 05:18 PM, Florian Zumbiehl wrote:
> Hi,
>
>> having a "clean file-system API", whatever that means.
>
> I think primarily that you can read a directory and use the filenames you
> get back for opening the files in that directory rather than being
> surprised with some other file or an exception? Or not re-expanding command
> line arguments that the shell has already expanded?

Indeed. It's hard to define "clean", but I'm pretty sure that requiring
extra string manipulation on the paths the filesystem API returns you
before you can feed them back into it is definitely "unclean" :-)

Now, we might say that chicken pathnames have $/~ expansion as part of
their semantics, in which case DIRECTORY should be changed to return
pathnames with leading $/~ escaped, and any other places where Chicken
Pathnames interface with System Pathnames in the FFI likewise changed to
apply an appropriate conversion. But I think that would be more work,
and still trip people up on account of chicken pathnames still being
strings, so there being no reliable way to automatically convert or warn
if the wrong kind is used in the wrong place or whatever. Just code that
seems to work, but breaks strangely in strange situations.

> Regards, Florian

ABS

- --
Alaric Snell-Pym
http://www.snell-pym.org.uk/alaric/
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAlFHJPUACgkQRgz/WHNxCGoR9gCdHxMWfhy5A5gDjTla4c/87rs/
z5UAn00SdxYhWbPcXo2Ga1uwQK4A2OCj
=DJKl
-----END PGP SIGNATURE-----



reply via email to

[Prev in Thread] Current Thread [Next in Thread]