--* From postmaster%watson.vnet.ibm.com@yktvmv.watson.ibm.com  Wed Dec 22 16:36:43 1993
--* Received: from yktvmv.watson.ibm.com by leonardo.watson.ibm.com (AIX 3.2/UCB 5.64/4.03)
--*           id AA26044; Wed, 22 Dec 1993 16:36:43 -0500
--* X-External-Networks: yes
--* Received: from watson.vnet.ibm.com by yktvmv.watson.ibm.com (IBM VM SMTP V2R3)
--*    with BSMTP id 4841; Wed, 22 Dec 93 16:43:00 EST
--* Received: from YKTVMV by watson.vnet.ibm.com with "VAGENT.V1.0"
--*           id <A.SANTAS.NOTE.YKTVMV.2371.Dec.22.16:43:00.-0500>
--*           for asbugs@watson; Wed, 22 Dec 93 16:43:00 -0500
--* Received: from bernina.ethz.ch by watson.ibm.com (IBM VM SMTP V2R3) with TCP;
--*    Wed, 22 Dec 93 16:42:59 EST
--* Received: from neptune by bernina.ethz.ch with SMTP inbound id <13209-0@bernina.ethz.ch>; Wed, 22 Dec 1993 22:42:50 +0100
--* From: Philip Santas <santas@inf.ethz.ch>
--* Received: from rutishauser.inf.ethz.ch (rutishauser-gw.inf.ethz.ch) by neptune id AA06011; Wed, 22 Dec 93 22:42:46 +0100
--* Date: Wed, 22 Dec 93 22:42:44 +0100
--* Message-Id: <9312222142.AA28113@rutishauser.inf.ethz.ch>
--* Received: from vinci.inf.ethz.ch.rutishauser by rutishauser.inf.ethz.ch id AA28113; Wed, 22 Dec 93 22:42:44 +0100
--* To: asbugs@watson.ibm.com
--* Subject: duplicate use of parameter name in function definition is accepted
--* Cc: bronstei, santas

--@ Fixed  by:  SSD   Fri Jun 3 12:51:38 EDT 1994 
--@ Tested by:  none 
--@ Summary:    Not a bug. Curried function declarations introduce inner scopes. Inner parameters shadow outer parameters. 
-- PI: Probably this cannot be considered a bug.  

#if 0

Version: A# version 33.0 for SPARC (debug version)
Severity: major
Problem: duplicate use of parameter name in function definition
         is accepted (compiles).
Code:

#endif

#include "aslib.as"
SI ==> SingleInteger
import from SI
f(x:SI)(x:SI):SI == x+1
print(f.5.10)()

#if 0
Comments:
   The above program compiles, runs and prints 11.
   The code
     f(x:String)(x:SI):SI == x+1
   is accepted too.
   The code
     f(x:SI)(x:String):SI == x+1
   is rejected with the message:
     (Error) No meaning for identifier `x' in this context.
   The code
     f(x:SI,x:SI):SI == x+1
   is rejected with the message:
     (Error) Improper duplicate use of parameter name.
   All these should be rejected and
   give the same error message as the last case,

Philip
#endif
 
