--* From postmaster%watson.vnet.ibm.com@yktvmv.watson.ibm.com  Mon Oct 11 10:43:39 1993
--* Received: from yktvmv2.watson.ibm.com by radical.watson.ibm.com (AIX 3.2/UCB 5.64/900524)
--*           id AA16279; Mon, 11 Oct 1993 10:43:39 -0400
--* X-External-Networks: yes
--* Received: from watson.vnet.ibm.com by yktvmv.watson.ibm.com (IBM VM SMTP V2R3)
--*    with BSMTP id 9853; Mon, 11 Oct 93 10:49:49 EDT
--* Received: from YKTVMV by watson.vnet.ibm.com with "VAGENT.V1.0"
--*           id <A.SANTAS.NOTE.YKTVMV.9303.Oct.11.10:49:48.-0400>
--*           for asbugs@watson; Mon, 11 Oct 93 10:49:49 -0400
--* Received: from bernina.ethz.ch by watson.ibm.com (IBM VM SMTP V2R3) with TCP;
--*    Mon, 11 Oct 93 10:49:47 EDT
--* Received: from neptune by bernina.ethz.ch with SMTP inbound id <7681-0@bernina.ethz.ch>; Mon, 11 Oct 1993 15:49:34 +0100
--* From: Philip Santas <santas@inf.ethz.ch>
--* Received: from rutishauser.inf.ethz.ch (rutishauser-gw.inf.ethz.ch) by neptune id AA08780; Mon, 11 Oct 93 15:49:30 +0100
--* Date: Mon, 11 Oct 93 15:49:29 +0100
--* Message-Id: <9310111449.AA19064@rutishauser.inf.ethz.ch>
--* Received: from ru7.inf.ethz.ch.rutishauser by rutishauser.inf.ethz.ch id AA19064; Mon, 11 Oct 93 15:49:29 +0100
--* To: asbugs@watson.ibm.com
--* Subject: (x:SI with free x) vs. (x:SI with free x:SI)
--* Cc: bronstei

--@ Fixed  by:  SSD   Thu Jun 2 12:30:40 EDT 1994 
--@ Tested by:  none 
--@ Summary:    Scope analysis was looking for a free x of type SI and wasn't using the x with undeclared type. 


The following program compiles and runs,
but if I remove the first declaration of
x (x:SI:=1) and I replace it with (x:=1),
then the compiler complains. The strange thing
here is that it does not complain about for 'y',
which has not been declared.

#include "aslib.as"
SI ==> SingleInteger
import SI

--x:=1
x:SI:=1
y:=2

foo():SI ==
   free x
   x:SI := y where
               free y
               y := 4

foo()
print(x)()(y)()

Philip

 
