hack-2009.4.20: readme.md
## Hack: a sexy Haskell Webserver Interface
Hack is a lazy port of [Rack](http://rack.rubyforge.org/): the ruby webserver interface.
### What does a hack app look like
module Main where
import Hack
import Hack.Handler.Kibro
hello :: Application
hello = \env -> return $ Response
{ status = 200
, headers = [ ("Content-Type", "text/plain") ]
, body = "Hello World"
}
main = run hello
### 1 minute tutorial
#### Install Hack
cabal install hack
#### Install Kibro (the only handler at the moment)
cabal install kibro
#### Install lighttpd 1.4.19 (used by kibro)
wget http://www.lighttpd.net/download/lighttpd-1.4.19.tar.gz
tar zxfv lighttpd-1.4.19.tar.gz
cd lighttpd-1.4.19
./configure --prefix=$HOME
make
make install
#### Create a new Kibro project
kibro new hello-world
### Test if Kibro works
cd hello-world
kibro start
### Create our hack app
put the following code in `src/Main.hs`
module Main where
import Hack
import Hack.Handler.Kibro
hello :: Application
hello = \env -> return $ Response
{ status = 200
, headers = [ ("Content-Type", "text/plain") ]
, body = "Hello World"
}
main = run hello
restart kibro
kibro restart