
Hi, I'm checking around here to see if anybody is working on any of these things, or alternatively, if there is any interest. This list reflects some of the things that I think we are missing in Haskell: Item Use ------------------------------ ---------------------------------------- E-Mail header, MIME codec Composing or parsing e-mail messages Base64 encode/decode Render binary strings in ASCII Required to do MIME MD5, SHA algorithms Generate unique hashes for strings, files (n)curses interface Full-screen text interfaces [ng]dbm interface Persistent hash storage mimetypes, mailcap support Discover MIME types of files and appropriate apps to use to handle files Maildir, mbox, MH, IMAP client Access e-mail storage systems support FTP, NNTP, SMTP client support Connect to appropriate servers IPv6 Support Obvious :-) ------------------ I have code for the following already: ------------------ Logging infrastructure Flexible logging of messages Syslog support Log to syslog daemon Various string utils (see MissingH for that stuff) And I'm willing to help on the rest, but I don't want to be duplicating effort of anyone else. Thanks, John -- John Goerzen Author, Foundations of Python Network Programming http://www.amazon.com/exec/obidos/tg/detail/-/1590593715

John Goerzen
E-Mail header, MIME codec Composing or parsing e-mail messages
Peter Simons wrote hsemail, http://cryp.to/hsemail/ Peter Thiemann wrote WASHMail as part of WASH.
Base64 encode/decode Render binary strings in ASCII Required to do MIME
I've seen several Base64 libs. More details if google doesn't turn up anything.
MD5, SHA algorithms Generate unique hashes for strings, files
Dominic Steinitz' CryptoLib - http://www.haskell.org/crypto/ReadMe.html
(n)curses interface Full-screen text interfaces
John Meacham wrote a binding for ginsu, Ian Lynagh wrote a binding that may not be publically released (not sure).
[ng]dbm interface Persistent hash storage
I think I've heard of one, I'd have to google to be sure.
mimetypes, mailcap support Discover MIME types of files and appropriate apps to use to handle files
WASHMail has some support for this and MIME encoded emails.
Maildir, mbox, MH, IMAP client Access e-mail storage systems support
I've written some ugly but mostly functional mbox code as part of curryspondence.
FTP, NNTP, SMTP client support Connect to appropriate servers
Thomas Hallgren wrote InternetLib, not sure if it requires Fudgets or not. Richard Braakman wrote a (partial?) FTP implementation as part of his harc source control project.
IPv6 Support Obvious :-) I'd really like this, but haven't gotten around to trying to make it work in GHC. Shouldn't be too hard though.
Part of my lost list of Haskell wishes: GHC-approved SDL binding (there are several partial implementations) Arrow-based Parsec-alike -- Shae Matijs Erisson - Programmer - http://www.ScannedInAvian.org/ "I will, as we say in rock 'n' roll, run until the wheels come off, because I love what I do." -- David Crosby

On Tue, Oct 12, 2004 at 09:16:22PM +0200, Shae Matijs Erisson wrote:
John Goerzen
writes: MD5, SHA algorithms Generate unique hashes for strings, files
Dominic Steinitz' CryptoLib - http://www.haskell.org/crypto/ReadMe.html
Incidentally, I think there are some optimisations in darcs' copy of SHA1 that I'm not sure made it into CryptoLib, but they are clouded by a subsequent change to darcs' FastStrings. Should be able to pull them out of darcs' history, though.
(n)curses interface Full-screen text interfaces
John Meacham wrote a binding for ginsu, Ian Lynagh wrote a binding that may not be publically released (not sure).
darcs http://urchin.earth.li/darcs/ian/hcurses May also need darcs http://urchin.earth.li/darcs/ian/cstring Thanks Ian

On 2004-10-12, Shae Matijs Erisson
John Goerzen
writes:
Thank you for the numerous helpful suggestions. I will be chasing them down. Many (all?) of them were not listed at http://www.haskell.org/libraries/, which is what I was using. Would it be possible to list more of these on that site?
E-Mail header, MIME codec Composing or parsing e-mail messages
Peter Simons wrote hsemail, http://cryp.to/hsemail/ Peter Thiemann wrote WASHMail as part of WASH.
Base64 encode/decode Render binary strings in ASCII Required to do MIME
I've seen several Base64 libs. More details if google doesn't turn up anything.
MD5, SHA algorithms Generate unique hashes for strings, files
Dominic Steinitz' CryptoLib - http://www.haskell.org/crypto/ReadMe.html
(n)curses interface Full-screen text interfaces
John Meacham wrote a binding for ginsu, Ian Lynagh wrote a binding that may not be publically released (not sure).
[ng]dbm interface Persistent hash storage
I think I've heard of one, I'd have to google to be sure.
mimetypes, mailcap support Discover MIME types of files and appropriate apps to use to handle files
WASHMail has some support for this and MIME encoded emails.
Maildir, mbox, MH, IMAP client Access e-mail storage systems support
I've written some ugly but mostly functional mbox code as part of curryspondence.
FTP, NNTP, SMTP client support Connect to appropriate servers
Thomas Hallgren wrote InternetLib, not sure if it requires Fudgets or not.
Richard Braakman wrote a (partial?) FTP implementation as part of his harc source control project.
IPv6 Support Obvious :-) I'd really like this, but haven't gotten around to trying to make it work in GHC. Shouldn't be too hard though.
Part of my lost list of Haskell wishes: GHC-approved SDL binding (there are several partial implementations) Arrow-based Parsec-alike
-- John Goerzen Author, Foundations of Python Network Programming http://www.amazon.com/exec/obidos/tg/detail/-/1590593715

On Wed, 2004-10-13 at 06:36, John Goerzen wrote:
On 2004-10-12, Shae Matijs Erisson
wrote: John Goerzen
writes: Thank you for the numerous helpful suggestions. I will be chasing them down. Many (all?) of them were not listed at http://www.haskell.org/libraries/, which is what I was using. Would it be possible to list more of these on that site?
One problem with that web site is that any update requires the manual intervention of a maintainer. (This is not to be seen as a critique of the maintainers. They do a good job. It is just that setups like that always tend to lag.) How can this be solved? Somebody could sit down and build a system that supports author submission that get automatically processed etc. AFAIK that has been proposed before and nothing happened. So, I wonder why not reuse a resource that already exists, namely http://freshmeat.net/ Freshmeat already has a Haskell category, http://freshmeat.net/browse/834/ which provides an easy way to get all Haskell software out of the database and could be linked from haskell.org. Freshmeat entries need not necessarily be created and updated by the authors of some software. Instead, interested users can maintain a freshmeat entry. This facility seems to improve the accuracy of the freshmeat db. Cheers, Manuel

Manuel M T Chakravarty
How can this be solved? Somebody could sit down and build a system that supports author submission that get automatically processed etc. AFAIK that has been proposed before and nothing happened. So, I wonder why not reuse a resource that already exists, namely
This exists: http://www.haskell.org/hawiki/LibrariesAndTools
Freshmeat entries need not necessarily be created and updated by the authors of some software. Instead, interested users can maintain a freshmeat entry. This facility seems to improve the accuracy of the freshmeat db.
freshmeat seems like a good idea too. -- Shae Matijs Erisson - Programmer - http://www.ScannedInAvian.org/ "I will, as we say in rock 'n' roll, run until the wheels come off, because I love what I do." -- David Crosby

At 03:18 13/10/04 +0200, Shae Matijs Erisson wrote:
Manuel M T Chakravarty
writes: How can this be solved? Somebody could sit down and build a system that supports author submission that get automatically processed etc. AFAIK that has been proposed before and nothing happened. So, I wonder why not reuse a resource that already exists, namely
This exists: http://www.haskell.org/hawiki/LibrariesAndTools
May I suggest adding a link to this from the http://www.haskell.org/libraries/ page? #g ------------ Graham Klyne For email: http://www.ninebynine.org/#Contact

On Tuesday 12 Oct 2004 8:16 pm, Shae Matijs Erisson wrote:
Part of my lost list of Haskell wishes: GHC-approved SDL binding (there are several partial implementations)
Well I have a SDL binding. It's still partial to be sure (as is every Haskell other binding to anything AFAICS:-), and I must confess that it doesn't benefit from the endorsement of GHC folk either. Seriously though, what do you mean by "GHC-approved". I guess you mean distributed with GHC? I thought the major aim of the library infrastructure project was to reduce the library bloat of various distributions and to de-sync library releases from compiler releases. But I dunno, is GHC-approval something library writers should aspire to? If so, how do I apply? :-) Regards -- Adrian Hey

(n)curses interface Full-screen text interfaces
John Meacham wrote a binding for ginsu, Ian Lynagh wrote a binding that may not be publically released (not sure).
And Marcin Kowalcyzk has a curses binding in his QForeign library: http://sourceforge.net/projects/qforeign although that is quite old now (2001). Regards, Malcolm

On Fri, Oct 15, 2004 at 11:15:57AM +0100, Malcolm Wallace wrote:
(n)curses interface Full-screen text interfaces
John Meacham wrote a binding for ginsu, Ian Lynagh wrote a binding that may not be publically released (not sure).
And Marcin Kowalcyzk has a curses binding in his QForeign library: http://sourceforge.net/projects/qforeign although that is quite old now (2001).
Actually, my ncurses binding is based on the one from the QForeign library, so they are similar in many ways. John -- John Meacham - ⑆repetae.net⑆john⑈

John Goerzen writes:
E-Mail header, MIME codec
The sources at http://cryp.to/hsemail/ have already been mentioned. The modules don't do everything they possible could (e.g. there is no direct MIME support). But they provide a solid foundation on top of which one could build it, I think.
IPv6 Support
I also need IPv6 support. If anyone is working on this already, I'd be willing to help/test/contribute code. I'd be willing to do it myself, too, but it might be a while until I come around to this.
Syslog support
I see that the syslog module you use has the values of the C constants hard-coded into the source code. You might want to look at http://cryp.to/syslog/ for a version which uses hsc2hs to do this portably. You could probably just copy the few hsc2hs-specific lines into your own code to fix the problem. Peter P. S.: Well, and while I'm at it, I'd also like to mention that I've just put up my own very long-winded implementation of "timeout" as well: http://cryp.to/childs/. This is the libraries list after all. :-)

On 2004-10-12, Peter Simons
Syslog support
I see that the syslog module you use has the values of the C constants hard-coded into the source code. You might want to
Yes. I did some research on that and it appears that these values are the same everywhere. In particular, Python's syslog module hard-codes them as well. So there appears to be no harm to it. In any case, I did first write a Syslog with FFI, but really wanted to keep MissingH 100% pure Haskell. So thanks for the offer, but until someone finds a system where the values are actually different, I think I'll keep the code as-is. (Such a system would cause a lot of hassle with logging over the network, too).

On 12.10 18:27, John Goerzen wrote:
[ng]dbm interface Persistent hash storage
Here is a little qdbm (http://qdbm.sf.net) binding: http://www.cs.helsinki.fi/u/ekarttun/haskell/qdbm - Einar Karttunen
participants (10)
-
Adrian Hey
-
Einar Karttunen
-
Graham Klyne
-
Ian Lynagh
-
John Goerzen
-
John Meacham
-
Malcolm Wallace
-
Manuel M T Chakravarty
-
Peter Simons
-
Shae Matijs Erisson