A web framework for developers to prototype quickly, deploy painlessly, scale massively, operate reliably, and change easily.


HAppS provides you with all the major server components you need to build high quality. You can use them individually or compose them together into a single deployable package that handles all aspects of your internet app including the database.


2008-01-08: Launched New HAppS WebSite!

How does it look? Next step is organize the code for the upcoming release. The repo heads are the current best version right now.

Getting Started

Its easiest to start with a working site like this one and modify it as needed.
  1. 1. darcs get http://happs.org/repos/happs.org MyProject
  2. 2. cd MyProject
  3. 3. sp ghc -isrc src/Main.hs --make --run --http-port=5000

Now you can open your browser to and access your site running off your machine. Edit the source in the src directory and watch the shell as searchpath automatically recompiles and restarts your app. Or edit your html, css, javascript, etc, in the public directory. By convention, state, if you have it is kept in _local, and config info is in the config directory.

HAppS does not come with a server-side templating system. We prefer the pattern of developing static web pages and using AJAX to populate them with dynamic content. We've found jquery to be a really good client javascript library for this style of development (used for this site). We've heard good things about prototype as well. That being said, nothing restricts you from other options including using haskell's HTML or XHTML libs or using XSLT on XML generated automatically from your output data types.

Note: You can also darcs pull the repos and use cabal to install if you feel so inclined.

Examples (TBD)

What else belongs here?