From: Peter Broadbery <peterb>
Date: Mon, 17 Jun 96 15:51:59 BST
Received: from co.uk (nags8) by nags2.nag.co.uk (4.1/UK-2.1)
	id AA02940; Mon, 17 Jun 96 15:51:59 BST
To: ax-bugs

Subject: fixbug
By: PAB
Fixed: bug672.as
--* From postmaster%watson.vnet.ibm.com@yktvmv.watson.ibm.com  Mon Jun  6 12:11:33 1994
--* Received: from yktvmv-ob.watson.ibm.com by watson.ibm.com (AIX 3.2/UCB 5.64/930311)
--*           id AA17593; Mon, 6 Jun 1994 12:11:33 -0400
--* Received: from watson.vnet.ibm.com by yktvmv.watson.ibm.com (IBM VM SMTP V2R3)
--*    with BSMTP id 6433; Mon, 06 Jun 94 12:11:33 EDT
--* Received: from YKTVMV by watson.vnet.ibm.com with "VAGENT.V1.0"
--*           id <A.ROOT.NOTE.VAGENT2.9885.Jun.06.12:11:33.-0400>
--*           for asbugs@watson; Mon, 06 Jun 94 12:11:33 -0400
--* Received: from YKTVMV by watson.vnet.ibm.com with "VAGENT.V1.0"
--*           id 9881; Mon, 6 Jun 1994 12:11:33 EDT
--* Received: from watson.ibm.com by yktvmv.watson.ibm.com (IBM VM SMTP V2R3)
--*    with TCP; Mon, 06 Jun 94 12:11:32 EDT
--* Received: by watson.ibm.com (AIX 3.2/UCB 5.64/4.03)
--*           id AA12507; Mon, 6 Jun 1994 12:09:56 -0500
--* Date: Mon, 6 Jun 1994 12:09:56 -0500
--* From: root@watson.ibm.com
--* Message-Id: <9406061709.AA12507@watson.ibm.com>
--* To: asbugs@watson.ibm.com
--* Subject: [2] storage allocation error. [proviso.as][35.4]

--@ Bug Number:  bug672.as 
--@ Fixed  by:  PAB   
--@ Tested by:  t672.as 
--@ Summary:    parser confused by empty sequence. 

#if BugHeaders
LastSeenBy: pab
LastUpdate: 21/Jun/94
BugKeywords: tinfer/macro?
Priority: 8
Comments: sign is a function with a null body.
Comments: 'i<0' should not be the name of a macro
SeenBy: pab
Updates:
#endif
#assert modified
#if modified

#include "aslib.as"

Symbol ==> String;
import from Symbol;
Number ==> SingleInteger;
import from Number;

{Proviso(): with
 {
  sign: (Number) -> Symbol
 }
== add
 { sign(i:Number):Symbol ==
   {i>0 ==> "Positive";
    i=0 ==> "Zero";
    i<0 ==> "Negative"}
 } -- add
} -- Proviso



#else

#include "aslib.as"

Symbol ==> String;
import from Symbol;
Number ==> SingleInteger;
import from Number;

{Proviso(): with
 {
  sign: (Number) -> Symbol
 }
== add
 { sign(i:Number):Symbol ==
   {i>0 ==> "Positive";
    i=0 ==> "Zero";
    i<0 ==> "Negative"}
 } -- add
} -- Proviso



#endif


