I have used Happstack to create a simple webapp/webservice for our local intranet.
- It stores data in memory with a transaction log for recovery (standard with Happstack). You will not find SQL in the code anywhere.
- No templates. What one would usually do with templates, I do in Javascript. Just get the data in JSON format, and put it into the DOM.
There are just 169 lines of Haskell code, all in Main.hs, which define the server. The rest is Javascript for presentation, and some Python for testing.
It is open source, you can check it out on GitHub, and maybe use it as a starting point.