[Haskell-cafe] [GSoC] WWW::Mechanize-like package for Haskell

Max Desyatov explicitcall at googlemail.com
Mon Apr 7 08:46:02 EDT 2008


Hi,

I'm interested in working on a library for a stateful web browsing in
Haskell during Google Summer of  Code.  The basic idea is described at
http://hackage.haskell.org/trac/summer-of-code/ticket/1107.
WWW::Mechanize is a ready to use library written in Perl, though I
used python's mechanize when I wrote some simple scripts
(http://wwwsearch.sourceforge.net/mechanize/), which provides much
cleaner interface.  Anyway, it gives simple and convenient way to
retreive web-sites, to handle cookies, history and to process
retrieved content and forms.  There are basics of it Network.Browser
module from Haskell's HTTP library
 (http://hackage.haskell.org/packages/archive/HTTP/3001.0.4/doc/html/Network-Browser.html),
but it's ugly (uses unsafePerformIO for error reporting) and lacks a
greater part of needed functionality.

My aim is to greatly improve Network.Browser module and to make coding
small scripts with it in more functional way possible.  At this moment
it uses BrowserAction state monad.  Though, the deadline is
approaching, I still seek some ways to improve my proposal.  So here
are the questions: are there any other data structures that will make
programming with this library more convenient, besides simple state
monad?  Should we contrive more sophisticated system with other other
separate data structures?  What other improvements you'd like to see?

Thanks in advance for any advice.

 --
 Max.


More information about the Haskell-Cafe mailing list