Return-Path: <John.Harrison-request@cl.cam.ac.uk>
Delivery-Date: 
Received: from ted.cs.uidaho.edu (no rfc931) by swan.cl.cam.ac.uk 
          with SMTP (PP-6.5) outside ac.uk; Mon, 14 Jun 1993 09:51:15 +0100
Received: by ted.cs.uidaho.edu (16.6/1.34) id AA08714;
          Mon, 14 Jun 93 01:40:08 -0700
Sender: info-hol-request@ted.cs.uidaho.edu
Errors-To: info-hol-request@ted.cs.uidaho.edu
Precedence: bulk
Received: from swan.cl.cam.ac.uk by ted.cs.uidaho.edu (16.6/1.34) id AA08709;
          Mon, 14 Jun 93 01:40:02 -0700
Received: from heron.cl.cam.ac.uk (user ww (rfc931)) by swan.cl.cam.ac.uk 
          with SMTP (PP-6.5) to cl; Mon, 14 Jun 1993 09:40:07 +0100
To: shaw@cs.ucdavis.edu (Rob Shaw)
Cc: info-hol@ted.cs.uidaho.edu, Wai.Wong@cl.cam.ac.uk
Subject: Re: term parsing and ->
In-Reply-To: Your message of "Sun, 13 Jun 93 15:17:10 PDT." <9306132217.AA19285@toadflax.cs.ucdavis.edu>
Date: Mon, 14 Jun 93 09:39:59 +0100
From: Wai Wong <Wai.Wong@cl.cam.ac.uk>
Message-Id: <"swan.cl.cam.:290550:930614084014"@cl.cam.ac.uk>

Rod said:

> But the next example will fail, and I don't know why.
> |  
> |  "APPEND:(((num)list)->((num)list))->(num)list";;
> |  
> Gives:
> |
> |  evaluation failed     types in quotation
> |
> I find this message contradictory. It seems to allude that type
> expressions are not allowed inside double quotes -- a false 
> allusion, as the previous example contained :((num)list) inside
> double quotes. I must assume it is the -> that is causing the 
> trouble. Questions:

Of course the above type for the constant  APPEND is incorrect.. It should be

	"APPEND : (num)list -> ((num)list -> (num)list)"

As always the case, the type of a curry function f is :* -> (** -> ***)
not the other
way round..  The type operator -> is associated to the right.  This means you can
type :* -> ** -> *** which means :*-> (** -> ***).

Wai

