X-Comment1: #############################################################
X-Comment2: #     uk.ac.glasgow.cs has changed to uk.ac.glasgow.dcs     #
X-Comment3: #     If this address does not work please ask your mail    #
X-Comment4: #     administrator to update your NRS & mailer tables.     #
X-Comment5: #############################################################


There's been an interesting debate about n+k patterns on this list. 
In this message I am only addressing the question of what changes, if
any, should be made to the V1.1 Report (which I am trying to fix in the
light of people's observations).

The only issue seems to me to be this one, raised by Brian:

|         o  Equality should be symmetric and transitive.  Otherwise you're going
|            to start wondering whether  f 0 = 1;  f n = n * f (n-1)  is interpre
|  ted
|            as          f n = if n==0 then 1 else n * f (n-1)
|            or          f n = if 0==n then 1 else n * f (n-1)
| 
| This is good example. Should the Report state how implementations are to
| translate matching of constant patterns? Or should it state that
| implementations are free to assume symmetry here?

Actually, the Report *does* state how implemenatations are to translate
constant patterns (page 22).  But on looking at it, I see that 

        k patterns are translated to            (k == e)
but
        n+k patterns are translated to          (e >= k)  and  (e - k)


While this is unambiguous, it seems rather inconsistent.  I suggest
changing the translation of equality to (e == k).

Only change required is page 22, line -11.

Any objections?  Any other V1.1 issues?

Simon

Reply via email to