From - Tue Jun 29 16:22:50 1999 Received: from newton.math.grin.edu ([132.161.33.70]) by EXCHANGESERVER with SMTP (Microsoft Exchange Internet Mail Service Version 5.5.2448.0) id NK81YCA6; Tue, 29 Jun 1999 09:45:38 -0500 Received: from CS.Princeton.EDU (CS.Princeton.EDU [128.112.136.10]) by newton.math.grin.edu (8.8.8/8.8.8) with ESMTP id JAA11297 for ; Tue, 29 Jun 1999 09:47:03 -0500 (CDT) Received: from ux04 (appel@ux04.CS.Princeton.EDU [128.112.169.24]) by CS.Princeton.EDU (8.8.8/8.8.8) with ESMTP id KAA15576 for ; Tue, 29 Jun 1999 10:44:23 -0400 (EDT) Received: from localhost by ux04 (8.8.8+Sun) id KAA15607; Tue, 29 Jun 1999 10:44:23 -0400 (EDT) Message-Id: <199906291444.KAA15607@ux04> To: rebelsky@math.grin.edu Subject: Re: MCI Bug Report In-reply-to: Your message of "Mon, 12 Oct 1998 12:38:32 EDT." <199810121638.MAA14347@mnemonic> Date: Tue, 29 Jun 1999 10:44:23 -0400 From: Andrew Appel Dear Prof. Rebelsky: Thanks for this bug report. -- Andrew Appel > > The sample let expression on p. 99 appears to be semantically incorrect. > That expression reads > > let var a := 5 > function f() : int = g(a) > function g(i: int) = f() > in f() > end > > However, according to the definition of Tiger, g is a procedure and therefore > does not return a result. Hence, the body of f cannot consist of only > a call to g. > > The same invalid expression also appears in the Java version of the text.