rallod: '$' in reverse.

[ bsd3, library, web ] [ Propose Tags ]
Versions 0.0.1
Dependencies base (>=4.0 && <5), haskell98 [details]
License BSD-3-Clause
Author Parker, Matt
Maintainer Parker, Matt <moonmaster9000@gmail.com>
Category Web
Home page http://github.com/moonmaster9000/rallod
Uploaded by MattParker at Thu Jul 1 13:12:34 UTC 2010
Distributions NixOS:0.0.1
Downloads 463 total (6 in the last 30 days)
Rating (no votes yet) [estimated by rule of succession]
Your Rating
  • λ
  • λ
  • λ
Status Docs uploaded by user
Build status unknown [no reports yet]
Hackage Matrix CI

A Simple package that exports ==>, which operates in the opposite direction of $.

[Skip to Readme]




Maintainer's Corner

For package maintainers and hackage trustees

Readme for rallod-0.0.1

[back to package description]


A sinatra-ish web framework written in haskell, riding on top of Hack.


Sinatra has a beautiful, simple, elegant syntax, but it's essentially an attempt to bring pattern matching to a language never intended for pattern matching. Why not attempt something similar in a language with not just beautiful pattern matching, but with all the declarative bells and whistles: lazy evaluation, first-class functions, currying, polymorphism?


λ cabal update && cabal install bird

Note: make sure $HOME/.cabal/bin is in your PATH.

Create an app

λ bird MyApp 

Compile your app

λ cd MyApp
λ bird nest 

Start your app (runs on port 3000)

λ bird fly

Try it out

λ curl http://localhost:3000
  404 Not Found


-- MyApp.hs
module MyApp where
import Bird
import Data.String.Utils

get, post, put, delete :: Request -> IO Reply
get Request { path = ("howdy":xs) } 
  = ok $ "Howdy " ++ (join ", " xs) ++ "!"

get _ = return notFound_
post _ = return notFound_
put _ = return notFound_
delete _ = return notFound_


λ curl http://localhost:3000/howdy/there/pardna
    Howdy there, pardna!


This project is still in its infancy. Coming features:

  • logging
  • support for sending files