From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Nikita Karetnikov Newsgroups: gmane.lisp.guile.bugs Subject: bug#14164: letrec: detect illegal accesses to vars before entering body Date: Tue, 09 Apr 2013 10:37:38 +0400 Message-ID: <87mwt8p5u5.fsf@karetnikov.org> References: <877gkcuxi7.fsf@karetnikov.org> <87bo9oe14d.fsf@tines.lan> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha1; protocol="application/pgp-signature" X-Trace: ger.gmane.org 1365489335 23132 80.91.229.3 (9 Apr 2013 06:35:35 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Tue, 9 Apr 2013 06:35:35 +0000 (UTC) Cc: 14164@debbugs.gnu.org To: Mark H Weaver Original-X-From: bug-guile-bounces+guile-bugs=m.gmane.org@gnu.org Tue Apr 09 08:35:38 2013 Return-path: Envelope-to: guile-bugs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1UPS9Z-0001AL-UK for guile-bugs@m.gmane.org; Tue, 09 Apr 2013 08:35:38 +0200 Original-Received: from localhost ([::1]:41265 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UPS9Z-0006ks-9q for guile-bugs@m.gmane.org; Tue, 09 Apr 2013 02:35:37 -0400 Original-Received: from eggs.gnu.org ([208.118.235.92]:44553) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UPS9Q-0006ju-QX for bug-guile@gnu.org; Tue, 09 Apr 2013 02:35:35 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1UPS9N-00083U-W3 for bug-guile@gnu.org; Tue, 09 Apr 2013 02:35:28 -0400 Original-Received: from debbugs.gnu.org ([140.186.70.43]:36971) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UPS9N-00083M-SO for bug-guile@gnu.org; Tue, 09 Apr 2013 02:35:25 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.72) (envelope-from ) id 1UPSCr-0001Bc-TM for bug-guile@gnu.org; Tue, 09 Apr 2013 02:39:01 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Nikita Karetnikov Original-Sender: debbugs-submit-bounces@debbugs.gnu.org Resent-CC: bug-guile@gnu.org Resent-Date: Tue, 09 Apr 2013 06:39:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 14164 X-GNU-PR-Package: guile X-GNU-PR-Keywords: Original-Received: via spool by 14164-submit@debbugs.gnu.org id=B14164.13654895244537 (code B ref 14164); Tue, 09 Apr 2013 06:39:01 +0000 Original-Received: (at 14164) by debbugs.gnu.org; 9 Apr 2013 06:38:44 +0000 Original-Received: from localhost ([127.0.0.1]:41080 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1UPSCX-0001B4-Jn for submit@debbugs.gnu.org; Tue, 09 Apr 2013 02:38:43 -0400 Original-Received: from li305-5.members.linode.com ([178.79.168.5]:35465 helo=cooksoni.karetnikov.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1UPSCU-0001Au-3H for 14164@debbugs.gnu.org; Tue, 09 Apr 2013 02:38:39 -0400 In-Reply-To: <87bo9oe14d.fsf@tines.lan> (Mark H. Weaver's message of "Tue, 09 Apr 2013 01:14:58 -0400") X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-Received-From: 140.186.70.43 X-BeenThere: bug-guile@gnu.org List-Id: "Bug reports for GUILE, GNU's Ubiquitous Extension Language" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-guile-bounces+guile-bugs=m.gmane.org@gnu.org Original-Sender: bug-guile-bounces+guile-bugs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.lisp.guile.bugs:7079 Archived-At: --=-=-= >> According to the manual [1], this snippet: >> >> (letrec ((a 42) >> (b (+ a 10))) >> (* a b)) >> >> should return "Error: unbound variable: a." > The manual doesn't say anything nearly that specific. Either you missed it or I misunderstood this sentence. So if you missed it, it can be found below 'syntax: letrec* bindings body'. > In general, if the manual says you "may not" do something, or if the > R5RS says "it is an error", that means that if you do, the results are > unspecified. Are you talking about the result of 'letrec' or 'b'? Anyway, why does it return 2184 if the results are unspecified? Could you elaborate? --=-=-= Content-Type: application/pgp-signature -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.10 (GNU/Linux) iQIcBAEBAgAGBQJRY7c3AAoJEM+IQzI9IQ38BLYQAJ8o0caME9RdTUlXjGTx0Fx0 fMnsk9rdZ61Dyds7ifn24QXUvUNM9BFfAc6dZNTFgQm22h1aL4F+un9P5DE+KYXX 3smWLMqERkkvo/Hnl3HHFabpTGCxO1pDs3ZNl7Vl8EbD+zRa1fQUMyYuedUAi4F/ yscIJPAZphD69IpHGhpqxcpg40x5o99U37fnuARvxgtSc5tV2mPCufZeP8bZu1M2 430KQ1hH+4wyguZSnmDBdtA5fmvlDtatOaFuN1sO80+pZvpBfbxVs559aWlrQjO0 eSuBTRmkAJGs7qH74MwQaWpoti1Re+1O0RQtfIYsRKDhCuhw3IIw8YUBw0LXXk5Y ELAIKO3gV+qhT9fgQ/295zOkzt2ouCxgtVutZZTM1JbNN3NOt8fZXyvTrInOyD6/ Uu4YvJVC9l2+6eVmlrjjlOb7zvtD9qTOR3grfIr0cmkYCmRJyGaiZ0R4mslfZgSd 8f6XtQvOB+4+4G0Ah5t7Po5UbXnclVAkgMhF+H4NsPDINbhyeUUZHfLJFdTtFea3 +4+MLAtyRy5uMACG7xoW2BLDABVC4aay3ohjtTCn7GZuX1q2CC6G5uHsjV2NxfRR 9H0CuC7mAX9Cm5rX8N/2f9Ew/MwNdjEfVj175Es3ivuBtPxZhaC9vV9jG6N5Wnbf YCH2W1j2Z5IpKjGhQCrk =iSk6 -----END PGP SIGNATURE----- --=-=-=--