Hi,

I must admit that I got carried away by new extension, and have not
come around to making a new release yet.

>       On Oct. 4, 1999, I enquired here about availability
>       of software described in that paper (Where is "Server
>       Side Scripting" code?) and Erik's answer was, loosely
>       speaking, "wait until I finish it". As far as
>       I can tell nothing has changed in this respect.

Probably you missed the announcement of mod_Haskell some time ago.
Anyway, mod_Haskell gives you a Haskell98 update of my CGI-library
integrated into Apache (yes, yes, that Linux-based webserver :-)

At the same site <http://losser.st-lab.cs.uu.nl:8080/> you will
also find a pre-releas of Haskell Server Pages (HSP). Similar
to ASP, JSP, PHP, PSP, etc it allows you to embed scripts
directly inside HTML pages, but in addition you can recursively
embed HTML inside HSP scripts. For example you can write

<%
cells = 
  [ [ (x,y) | x <- [1..16] ]
  , y <- [1..16] 
  ]

genData = \c ->
  <td bgcolor=<% genColor c %>>
    <% c %>
  </td>
  
genRows = map (\r -> <tr><% map genData r %></tr>)
%>

<html>
<body>
  <table border="1">
    <% genRows cells %>
  </table>
</body>
</html>

HSP are translated by a simple pre-processor to a "normal"
CGI script. The great thing is that as a programmer
you don't have to mess around with some (arbitrary)
encoding of HTML. You just write *concrete* HTML syntax.

HSP is a proof of concept for the viability of XMLambda
(<http://www.cse.ogi.edu/~mbs/pub/XMLambda.ps.gz>, regrettably 
it was rejected for USENIX) which generalizes this to XML, so
that you can define your own DTD and construct, transform,
and pattern match XML documents using concrete syntax as well.
Much better than XSL.

Erik

PS

There is also a installshield Haskell98 compatible
version of my library intended for IIS (the MS
webserver) that includes a version of
the JFP paper in HTML-help format. Unfortunately
the student who made this left before he perfected
the install script so you need to tweak a few 
things by hand.


Reply via email to