Using Happstack.Server without Happstack.State

One thing needs to be clarified about the usage of Happstack. Using Happstack.Server does not in any way require you to use Happstack.State for managing application state. Most Happstack applications you'll come across are written to use Happstack's MACID library on its merits, not because they are forced to.

So how does one use Happstack with a SQL database or any other state management system? Quite simply, you do it the way you would in any other Haskell program. The key here being the free monad parameter in the Happstack.Server function simpleHTTP'

ghci>:t simpleHTTP'