Hakit (pronounce: "hack it") is my ongoing attempt to say thanks to the Haskell community.
It is a web toolkit written in Haskell.
The key idea is to introduce the least possible new concepts to people coming from other languages.
It especially eases the transition for people coming from dynamic languages by providing a central dynamic data structure and using that in most places (where it is sensible), so they will spend less time freaking out about yet another type they don't grasp yet.
PHP & co has approx 6000 web frameworks/toolkits (per language), Haskell has only a handful, let's get up to speed, shall we?
A module containing an easy to use data type similar to that of dynamic languages.
A very simple to use HTTP server/client.
Validate data easily.
Typeclasses (currently only one, a simplistic one) which reprents db drivers.
MongoDB implementation of a db driver found in Hakit.Db
Routing made easy.
A CSS selector based template engine (effectively, jQuery in Haskell, on your server).
All selectors can be arbitrarily nested (eg: ".a:not(.b:has(.c, .d:first)):even" and similar).
The workings of the selectors aim to match the jQuery behaviour, so for further documentation, consult the jQuery API.
Lets you start cronlike jobs from your Haskell application.
- Make it so simple and obvious that one can pick it up in a couple of minutes.
- Be gentle to people with a non-fp background.
- Be fun to use.
Progress: very-very early stage.
Disclaimer: I am a Haskell newbie, thus the code is probably not that idiomatic. This will change though as I gain experience.