
On 2004-11-30, GoldPython
Has anyone tried presenting the language to the average rank and file programming community? If so, was it successful? If not, is there interest in doing so?
I am very interested in doing that. I'm a relatively recent Haskeller. I come from a background with a lot of I/O type problems: databases, networking, etc. Haskell works nicely in this domain, too, but it it severely under-documented and, in some cases, under-supported. My main project right now is my MissingH library. Loosely speaking, its goal is to provide pure Haskell implementations of all the stuff I miss from the Python standard library. It's been a great way for me to learn Haskell, and also goes a long way to making Haskell useful in the everyday problems I have to solve. Right now, it has a bunch of string utilities, a bunch of I/O utilities, a Printf implementation, an FTP client module, some MIME stuff, etc. I almost have my ConfigParser module done, which is a clone of the Python module. (This is now the second time I've written ConfigParser from scratch; my MissingLib project for OCaml also has it.) I also have a very small start on a "haskell for hackers" ("hackers" in the non-evil sense) sort of document. One this doesn't ignore I/O as "hard" or "unimportant". I/O in Haskell doesn't suck. It's just that a lot of people in the community don't have it as a high priority, I think. I also want MissingH to be complete enough that I can use it to port my OfflineIMAP program to Haskell. That would mean adding an IMAP client library and Maildir tools. I'm also a firm believer that code is one of the best forms of tutorial. I hope people will be able to refer to MissingH and other similar projects to learn how to do things. I, for instance, referred to the Haskell xml-rpc implementation to learn how to craft a function taking a variable number of arguments, and used that knowledge to write my Printf implementation. Maybe somebody can refer to my FTP module and use that knowledge to write a module for the world's most underused protocol, Gopher :-) -- John