<h3>Why another HAppS Tutorial?</h3>
<p><a href="http://www.haskell.org">Haskell</a> is a <a href="http://www.google.com/search?hl=en&q=why+haskell">great way to program</a>.</p>
<p>And <a href="http://www.happs.org">HAppS</a> is a great way to build web applications.</p>
<p>I created this tutorial to popularize the use of my favorite language, haskell, in web applications. </p>
<p>This tutorial is its own demo. For best results, you should
<a href="/tutorial/run-tutorial-locally">install and run</a>
it in a local environment where you have control. Then, when you are done
learning, you can use the tutorial code as a template for your own
HAppS applications.
</p>
<p>If you use Ruby on Rails, Django, Perl Catalyst, PHP, or some other popular web framework, but
have programmed in haskell and would like to use the world's greatest language for your next web project,
this tutorial will give you all the knowledge you need.</p>
<p>As I just said a second ago,
the best way to learn how to use use HAppS with this tutorial is to actually <a
href="/tutorial/run-tutorial-locally">install and run</a> it in a
local environment.
<p>So if you can, do that first.
<p>Getting on with the tutorial proper, our first lesson examines the
<a href="/tutorial/main-function">main function</a> in a HAppS program.
The second lesson explains how to do <a
href="/tutorial/basic-url-handling">basic url handling</a>.
The third lesson covers <a href="/tutorial/templates-dont-repeat-yourself">using templates</a>.</p>
<p>More lessons are planned. This is a work in progress. Stay tuned.</p>
$! <p>Lesson 2 is <a href="/tutorial/using-templates">using templates</a</p> !$
$! <p>Lesson 3 is <a href="/tutorial/managing-state">managing state</a></p> !$