<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META content=text/html;charset=iso-8859-1 http-equiv=Content-Type>
<META name=GENERATOR content="MSHTML 8.00.6001.18865"></HEAD>
<BODY style="PADDING-LEFT: 10px; PADDING-RIGHT: 10px; PADDING-TOP: 15px"
id=MailContainerBody leftMargin=0 topMargin=0 CanvasTabStop="true"
name="Compose message area">
<DIV><FONT size=4 face="LM Mono 12">Earlier in this thread I wrote "... but like
so what." In this letter I hope to address what I wrote more fully.</FONT></DIV>
<DIV><FONT size=4 face="LM Mono 12"></FONT> </DIV>
<DIV><FONT size=4 face="LM Mono 12">The command line option that was found that
allows for Haskell source code to be preprocessed accepts a Haskell source code
file as an argument. This file defines a preprocessor. It seems to me that such
a preprocessor would be undisciplined and capable of wrong doing because the
Haskell language does not have all the facilities that a utility such as Happy
possesses. Care is needed. It also lacks those facilities that are particular to
preprocessors.</FONT></DIV>
<DIV> </DIV>
<DIV><FONT size=4 face="LM Mono 12">The paper at <A
title="http://people.cs.uu.nl/arthurb/data/Macros/Manual.pdf CTRL + Click to follow link"
href="http://people.cs.uu.nl/arthurb/data/Macros/Manual.pdf">http://people.cs.uu.nl/arthurb/data/Macros/Manual.pdf</A>
may provide a means to introduce this needed discipline. I do not see how the
runtime verses compile time distinction is important, however. You can't really
hand craft a preprocessor on the fly that is going to work. I do not believe the
paper is explaining itself all that well. What they are referring to as syntax
macros given a superficial examination of the paper seem to be the functional
language equivalent of a definite clause grammar found in Prolog. So it seems
that an effort to bring that goodness that Prolog programmers have enjoyed for
years over to Haskell and perhaps to do one or two better.</FONT></DIV>
<DIV> </DIV>
<DIV><FONT size=4 face="LM Mono 12">Their emphasis on runtime verses compile
time seems like a distraction in that it is merely a necessary condition for
inclusion into the Haskell language since Haskell is both compiled and
interpreted. It is a problem that would need to be solved. They may have lost
sight of what they were doing after having spent so much time working on just
this one aspect. Haskell at the present time need external tools. The benefits
of bringing in that sort of functionality into the language I would regard as
self-evident.</FONT></DIV>
<DIV> </DIV>
<DIV><FONT size=4 face="LM Mono 12">It is still a bottom up approach, but a
bottom up approach would be easier to implement and it would be desirable for
the two worlds to meet, the bottom up and the top down.</FONT></DIV>
<DIV> </DIV>
<DIV><FONT size=4 face="LM Mono 12">An important question will be, Will syntax
macros work out better than an existing tool such as
Happy?</FONT></DIV></BODY></HTML>