[more updates to homepage, docs page, and community page jeremy@seereason.com**20110919184608 Ignore-this: c2b5416316a54958ede3390c64fc66e ] hunk ./Main.hs 347 -

Happstack is a Haskell web framework. Happstack is designed so that developers can prototype quickly, deploy painlessly, scale massively, operate reliably, and change easily. Happstack is supported on GNU/Linux, OS X, FreeBSD, and Windows environments.

+

Happstack is a fast and flexible Haskell web framework. Happstack is designed so that developers can prototype quickly, deploy painlessly, scale massively, operate reliably, and change easily. Happstack is supported on GNU/Linux, OS X, FreeBSD, and Windows environments.

hunk ./Main.hs 350 -

At the core of Happstack is happstack-server. happstack-server is a fast, lightweight, self-contained HTTP server with built-in HTML templating support using blaze-html. happstack-server is database agnostic and can be used with any of your favorite database libraries from hackage. happstack-server is extensively documented in The Happstack Crashcourse.

+

At the core of Happstack is happstack-server. happstack-server is a fast and simple HTTP server with built-in support for templating (via blaze-html), request routing, form-decoding, cookies, file-uploads, etc. happstack-server is all you need to create a simple website.

+ +

happstack-server is database agnostic and can be used with any of your favorite database libraries from hackage. happstack-server is extensively documented in The Happstack Crashcourse.

hunk ./Main.hs 359 -
acid-state is a pure Haskell, in-memory, transactional ACID, noSQL database. acid-state is a cleaner, faster, more robust rewrite of the classic happstack-state system.
+
acid-state is a native Haskell, in-memory, transactional ACID, noSQL database. acid-state is a cleaner, faster, and more robust rewrite of the classic happstack-state system. It can easily store complex Haskell datatypes, queries are written in Haskell, and it uses safecopy for automatic version migration.
hunk ./Main.hs 362 -
ixset is a Set-like datatype with support multiple indexes. It is similar to a table in a traditional SQL database. ixset is often used with the acid-state library.
+
ixset is a set-like datatype with support for multiple indexes. It is similar to a table in a traditional SQL database. ixset is often used with the acid-state library.
hunk ./Main.hs 373 -
happstack-heist brings the power of heist templates to Happstack. heist aims to keep the presentation and business logic well separated. Additionally, because it uses external .xml files for the templates, they can be easily edited by non-programmers, and modifications do not require the server to be recompiled or restarted. Use with Happstack is documented here.
+
happstack-heist brings the power of heist templates to Happstack. heist aims to keep the presentation and business logic well separated. Because heist uses external .xml files for the templates, the templates can be easily edited by non-programmers and modifications do not require the server to be recompiled or restarted. Using heist with Happstack is documented here.
hunk ./Main.hs 384 +
digestive-functors
+
The digestive-functors library provides type-safe, composable HTML form generation and processing. The digestive-functors-happstack library provides Happstack support. The digestive-functors-hsp library includes combinators for using digestive-functors with HSP templates.
+ hunk ./Main.hs 390 +
Other
+
Happstack can also be used with a wide variety of packages on hackage with no special support. You can use database libraries like, HDBC, Takusen, CouchDB, etc. You can use libraries like aeson for JSON support. Happstack is designed to be open and flexible.
+ hunk ./Main.hs 486 -

API Reference

-

The haddock documentation for Happstack can be found here.

-

Tutorials

-

Happstack Crash Course

-

The Happstack Crash Course is the most complete resource for learning Happstack. New sections are added regularly, so check back often.

- {- -

Classic Happstack Tutorial

-

The classic happstack tutorial is also still available. This is currently the best resource to learn about using the MACID state system and HStringTemplate. Soon to be replaced by the Happstack Crash Course.

--} -

Short tutorial on Happstack.State / MACID

- Happstack.State - the basics by Paul Kuliniewicz -

Happstack & web-routes

-

Crash course section of web-routes

-

Happstack type-safe routing and URLs using web-routes and the Regular library

-

Guestbook Demo

-

The guestbook demo, included with happstack, is a complete, cabalized web application which demonstrates the Happstack MACID database, HSP templating, and HStringTemplate. There is currently no separate tutorial, but the code is heavily commented for instructive purposes.

+

Official Documentation & Tutorials

+
+
Happstack Crash Course
+
The Happstack Crash Course is the most complete resource for learning Happstack. New sections are added regularly, so check back often.
+
Haddock API Reference
+
The haddock API documentation for Happstack can be found here.
+
+

Examples

+
+
Guestbook Demo
+
+

The guestbook demo, included with Happstack, is a complete, cabalized web application which demonstrates using MACID database, HSP templating, and HStringTemplate. There is currently no separate tutorial, but the code is heavily commented for instructive purposes.

hunk ./Main.hs 503 + $ export PATH=~/.cabal/bin:$PATH
+ $ cabal update
+ $ cabal install happstack
hunk ./Main.hs 510 -

NOTE: the command may issue a bunch of errors about getDirectoryContents, but it still works. Those errors are fixed darcs.

+
+ +
happstack-imageboard
+

happstack-imageboard implements a simple 4chan-like imageboard. It demonstrates acid-state, ixset, digestive-functors, HSX, jmacro, web-routes, cookies, AJAX, uploads, image resizing, and more. It is available via:

+
darcs get http://src.seereason.com/examples/happstack-imageboard/
+
+
+

3rd Party Tutorials & Examples

+
+
Short tutorial on Happstack.State / MACID
+
Happstack.State - the basics by Paul Kuliniewicz
+
Tutorialpedia web-routes
+
Happstack type-safe routing and URLs using web-routes and the Regular library
+ +
Build a pasteboard with Happstack
+
This tutorial demonstrates building a simple pasteboard application by using Happstack with sqlite and Text.Html.
+ +
hunk ./Main.hs 529 -

Build a pasteboard with Happstack

-

This tutorial demonstrates building a simple pasteboard application by using Happstack with sqlite and Text.Html.

hunk ./Main.hs 544 +

stackoverflow

+

You can also post questions on stackoverflow with the happstack tag.

+ hunk ./theme/theme.css 211 + +.package-name +{ + font-family: monospace; +} +