[Haskell-cafe] [GSoC] WWW::Mechanize-like package for Haskell
Max Desyatov
explicitcall at googlemail.com
Mon Apr 7 11:35:15 EDT 2008
On Mon, Apr 7, 2008 at 4:11 PM, Thomas Schilling
<nominolo at googlemail.com> wrote:
> It doesn't have to be perfect. Make sure you know how to use monad
> transformers. Also take a look at tag soup and the various HTML/XML
> parsers. I'm sure there's plenty to work on.
>
> My guess would be, that you try to write non-trivial example applications
> and see what is needed. For example, you could write a script to
> download/upload a Haskell wiki page logging in if necessary. Take a look of
> what other WWW::Mechanize packages are used. That kind of stuff.
>
> Also, for a GSoC proposal you should try to convince the mentors, why your
> project is useful for Haskell in general. So maybe you have some more
> arguments there, too.
>
> / Thomas
There's many benefits of having such library in Haskell: improved
automated testing (as Yitzchak Gale mentioned) due to pure nature of
inner algorithms (BrowserAction can be pure and be transformed into IO
only on demand), static typing (just hate a bunch of stupid bugs while
writing all those scripts in python/perl). We can use powerful
HTML/XML parsers available there in Haskell (HXT with its "arrowed"
XML filters).
Haskell community will definitely benefit from such library. Firstly,
as I see, in indirect way: I know many people that don't want to use
or learn more about Haskell, saying it lacks libraries for their
everyday work. Network libraries still aren't "cool" enough, and
personally I want to improve them at least to the point when I can say
"look! here's the network libraries and they aren't worse than yours,
even better: pure and checked!" :). Secondly, new libraries are
useful for the community directly, we have aforementioned lambdabot,
e.g. I'd like to write some bots looking at new changes at
haskellwiki or something like that, thing I'm doomed to code in
sh&curl/perl/python now.
--
Max
More information about the Haskell-Cafe
mailing list