<br><font size=2 face="sans-serif">Hello,</font>
<br>
<br><font size=2 face="sans-serif">I use HDBC for ODBC database access,
and HAppS as a web server. I am fairly happy with both. Here are some further
thoughts...</font>
<br>
<br><tt><font size=2>&gt; Finally some practical questions:</font></tt>
<br><tt><font size=2>&gt;  &nbsp; &nbsp; &nbsp; &nbsp;regarding Haskell
and databases, the page http://haskell.<br>
&gt; org/haskellwiki/Libraries_and_tools/Database_interfaces describes
a <br>
&gt; few, but which are the ones that are stable and practical? Any user
<br>
&gt; experiences?</font></tt>
<br><tt><font size=2>&gt;</font></tt>
<br><tt><font size=2>HDBC is fairly stable (although its ODBC driver crashes
ghc 6.8 on windows). I think HSQL is similarly stable. Takusen offers a
slightly higher-level interface and some performance guarantees; it is
a nice system but lacks support for ODBC (supposedly this is in the works).
HaskelDB is probably the ideal database access system for Haskell, however
the distribution was in bad shape (no documentation, hard to compile, etc.)
the last I looked maybe 6 months ago.</font></tt>
<br>
<br><tt><font size=2>&gt;  &nbsp; &nbsp; &nbsp; &nbsp;HApps is not listed
in the page above, because it does not <br>
&gt; use databases? Is HApps reliable or experimental, and does it scale
<br>
&gt; well? Any success stories?</font></tt>
<br><tt><font size=2>&gt;</font></tt>
<br><tt><font size=2>HAppS is a general server framework for Haskell. HAppS
is very appealing because it allows you to dynamically create pages directly
with Haskell. HAppS encourages storing your server state in memory, but
it is easy to read in state on the fly from external sources. The only
caveat with HAppS is that the system has been in active development for
the past few months is just starting (I hope) to settle down; thus useful
documentation/examples are hard to find, but the HAppS developers are pretty
good at replying to help requests on the HAppS IRC and the HAppS mailing
list. I am currently using an old (and stable) version of HAppS but expect
to upgrade to the latest version soon.</font></tt>
<br>
<br><tt><font size=2>&gt;  &nbsp; &nbsp; &nbsp; &nbsp;If I would want
to experiment with say HAppS, the way I <br>
&gt; understand it, I first would first have to study &#8220;Scratch your <br>
&gt; boilerplate&#8221; and Template Haskell, and maybe some other language
<br>
&gt; features? I&#8217;m still new to Haskell, and the road to understanding
<br>
&gt; all language elements and extensions is very long, so sequentially
<br>
&gt; learning it would be insane I guess. I have no practical experience
<br>
&gt; with TH, but I spent a long time trying to do &#8220;aspect oriented <br>
&gt; programming&#8221; in C# without success, so TH looks uber to me&#8230;</font></tt>
<br><tt><font size=2>&gt; &nbsp;</font></tt>
<br><tt><font size=2>While HAppS does use SYB and TH, you don't need to
understand them to effectively use HAppS; of course you'll need to understand
them, at least basic TH, to understand the details of what HAppS is doing.</font></tt>
<br>
<br><tt><font size=2>hope that helps,</font></tt>
<br><tt><font size=2>&nbsp; Jeff</font></tt>
<br>
<br>
<span style="font-family:'Arial',sans-serif; font-size:8pt; color:#000000">---<br>
<br>
This e-mail may contain confidential and/or privileged information. If you <br>
are not the intended recipient (or have received this e-mail in error) <br>
please notify the sender immediately and destroy this e-mail. Any <br>
unauthorized copying, disclosure or distribution of the material in this <br>
e-mail is strictly forbidden.</span>