Claus Reinke claus.reinke at
Sun Dec 9 15:19:27 EST 2007

>> ./foo and foo are not interchangeable:
> Yes, they are.

> What you have described is the behaviour of the Bourne shell when it
> parses a line and searches for a command.  If it sees a path component
> in a command name, it searches from either the filesystem root or the
> current directory.  Otherwise, it uses $PATH, which does not usually
> contain ".", for security reasons.
> As you can now imagine, this has no relation to how a Haskell program
> should be manipulating paths.

alas, my imagination is lacking:

    system "bash -c ./s"

my point is that </> is a path constructor - it should isolate me from
/vs\, but nothing else; actually, since i often work in mixed systems, </>
should not even try to guess the direction of slashes for me, it should 
just allow me to abstract over that decision, so that i can make it in
a single place, consistently for all my paths (and if the next run or another
part of the same program wants the slashes the other way round, that 
should also be possible. if i want anything more intelligent, i can use 
normalizeXXX, where XXX specifies the norm of the day.


More information about the Libraries mailing list