[Haskell-cafe] System.FilePath Re[2]: ANN: HSH 1.2.0

2007-03-10 Thread Bulat Ziganshin
-- i've added crossposts to John Meacham and Einar Karttunen because
-- you also denoted interest in new i/o library

Hello Neil,

Friday, March 9, 2007, 9:12:31 PM, you wrote:

 I note that the deadline for discussion of System.FilePath has now passed 
 (well,
 a long time ago :-), so it looks like it's going into base.  Any final
 objections before we do this?

 The deadline passed before Christmas, and no one objected. I still
 intend to move it in to base,

may be it is a good time to start File library? i has some ideas for
it, and also want to propose it as SoC project. just a couple of
ideas:

- ghc rts independent i/o lib
- portable async i/o which is able to work via select/epoll/...
- support for unicode filenames
- String/ByteString/UTF8String as filename
- filepath operations (your module)
- filesystem operations (System.Directory)
- support for large files (4gb) on windows
- bytestring i/o
- interfacing with Streams and FPS libraries

there are LOTS of things that need to be implemented in order to make
modern i/o library. your module seem as a first building block. we
can't make all these things inside Base lib because upgradability
problems will hit us all the way. so i propose to make File library
consisting of your sole module and start to wait contributions :) if
someone will need just the interface you already implemented, he can
request File-0.1 version - it will be again impossible if you will
integrate your library in the Base

as i many times said, Base is the dead end for any code, so it should
contain only things that will be not changed in next 5 years. i
know how your code may be changed in near future - by adding
ByteString support. moreover, i propose to split base library
without losing backward compatibility just by creating new libs that
will contain essentially the same code. i propose to start new i/o lib
with your module

 Regarding canonicalizePath, I'd be perfectly happy to change its name and/or
 somehow make it more easily discoverable: does anyone want to make a 
 proposal?

 I recommend either changing the name to unportableGHCCanonicalizePath
 or implementing it for Hugs ;)

 I can't think of a good name, FilePath originally called it
 makePathAbsolute,

i like this name. it denotes action and that is right because it works
in IO monad, not a pure function. and it makes clear that it does,
while canonical may mean everything, just like shuffle or
change'a'bit


-- 
Best regards,
 Bulatmailto:[EMAIL PROTECTED]

___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] System.FilePath Re[2]: ANN: HSH 1.2.0

2007-03-10 Thread Bryan O'Sullivan

Bulat Ziganshin wrote:

-- i've added crossposts to John Meacham and Einar Karttunen because
-- you also denoted interest in new i/o library


Me, too :-)


just a couple of
ideas:



- portable async i/o which is able to work via select/epoll/...


I think you mean non-blocking I/O here, right?  Async is not the same thing.


- interfacing with Streams and FPS libraries


It should also integrate cleanly with the network stack, which needs an 
overhaul about as badly as the I/O library.  Einar Karttunen maintains 
his network-alt library at


http://www.cs.helsinki.fi/u/ekarttun/network-alt/

which I think is a good starting point.

b
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe