From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: =?utf-8?Q?G=C3=B6ran?= Weinholt Newsgroups: gmane.lisp.guile.devel Subject: Re: REPL and load deifferences (was Re: Proposal for a new (ice-9 history)) Date: Tue, 30 Oct 2018 19:01:58 +0100 Message-ID: <87y3af71pl.fsf@teapot.weinholt.se> References: <87pnvsmhq6.fsf@netris.org> NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Trace: blaine.gmane.org 1540923131 5547 195.159.176.226 (30 Oct 2018 18:12:11 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Tue, 30 Oct 2018 18:12:11 +0000 (UTC) User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.2 (gnu/linux) Cc: Mark H Weaver , guile-devel To: Mikael Djurfeldt Original-X-From: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Tue Oct 30 19:12:07 2018 Return-path: Envelope-to: guile-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by blaine.gmane.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gHYUo-0001Lm-VV for guile-devel@m.gmane.org; Tue, 30 Oct 2018 19:12:07 +0100 Original-Received: from localhost ([::1]:54887 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gHYWv-0004tO-AX for guile-devel@m.gmane.org; Tue, 30 Oct 2018 14:14:17 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:39712) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gHYWr-0004sL-8U for guile-devel@gnu.org; Tue, 30 Oct 2018 14:14:14 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gHYWq-000588-6p for guile-devel@gnu.org; Tue, 30 Oct 2018 14:14:13 -0400 Original-Received: from iustitia.weinholt.se ([2a02:28f0:0:a::7dce:e5a8]:53744) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1gHYWp-00055Q-Qu for guile-devel@gnu.org; Tue, 30 Oct 2018 14:14:12 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=weinholt.se ; s=iustitia2012; h=Content-Transfer-Encoding:Content-Type:MIME-Version: Message-ID:In-Reply-To:Date:References:Subject:Cc:To:From:Sender:Reply-To: Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender: Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=u0vjFgAeOl0HbHaLGzr2iSjKJ+uPY+AQG6/PQ+xexmc=; b=tFnCqGcWeRrIoel4fSLn9z09Fs S1fgoI2UIVOB5M3glcejFNamm19JyV6JwQEBXtOoPpdBgNYdCDeUHRUA5z3d1qSdIC+Rfw7LOnimW QJp+bTgJlFCJyu4pgtO/qDfCM7pyPjgutity4Dryr2NW6arsMPWt0MDzArpleHNhFQkgkCtqsOK4h PMqPkXpyWWH69j8XyRFgQjN8cxMosplwLHQdRPGX0A+DaRHo/N7mgdjQOyvyXQe9yiGF/amIihc7Q OyJ2hnmFdXkAQ/AbmcI7lSP+ju5GiGqyPAU13rWpTTmy7TVPaRK52A0eP+Qg3IKq79TH9DsBiD+PI dHa5S9Fg==; Original-Received: from uucp by iustitia.weinholt.se with local-bsmtp (Exim 4.89) (envelope-from ) id 1gHYWk-0005dD-Dd; Tue, 30 Oct 2018 19:14:06 +0100 Original-Received: from weinholt by teapot.weinholt.se with local (Exim 4.91) (envelope-from ) id 1gHYL0-00069l-RS; Tue, 30 Oct 2018 19:01:58 +0100 X-Hashcash: 1:20:181030:mikael@djurfeldt.com::SfuPOIdu58iGLZMy:00000000000000000000000000000000000000000396F X-Hashcash: 1:20:181030:guile-devel@gnu.org::pjAcgzt1L8py3oyA:0000000000000000000000000000000000000000003XWi X-Hashcash: 1:20:181030:mhw@netris.org::QZ1yIGy4uf2b/9mC:0006dIB In-Reply-To: (Mikael Djurfeldt's message of "Tue, 30 Oct 2018 13:20:54 +0100") X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x [fuzzy] X-Received-From: 2a02:28f0:0:a::7dce:e5a8 X-BeenThere: guile-devel@gnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "Developers list for Guile, the GNU extensibility library" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Original-Sender: "guile-devel" Xref: news.gmane.org gmane.lisp.guile.devel:19708 Archived-At: Mikael Djurfeldt writes: > And, the attachments... > > On Tue, Oct 30, 2018 at 11:21 AM Mikael Djurfeldt = wrote: > > On Tue, Oct 30, 2018 at 1:55 AM Mikael Djurfeldt = wrote: > > On Tue, Oct 30, 2018 at 12:55 AM Mark H Weaver wrote:=20 > >> More precisely, it is a literal >> identifier recognized by 'match' and related macros, in the same sense >> that 'else' and '=3D>' are literal identifiers recognized by the 'cond' >> macro. >> R5RS section 4.3.2 (Pattern language) specifies how these literal >> identifiers are to be compared with identifiers found in each macro use: >> Identifiers that appear in are interpreted as literal >> identifiers to be matched against corresponding subforms of the >> input. A subform in the input matches a literal identifier if and >> only if it is an identifier and either both its occurrence in the >> macro expression and its occurrence in the macro definition have >> the same lexical binding, or the two identifiers are equal and both >> have no lexical binding. Guile's documentation says something else: "A literal matches an input expression if the input expression is an identifier with the same name as the literal, and both are unbound(1)." What happened to the case where they have the same binding? > [...] > Incidentally, this does *not* throw an error in master (unless I made > some mistake in this late hour), which then is a bug! There is a catch for R6RS users of Guile with the standard literals 'else', '=3D>', etc. They are not bound in Guile's standard library, so if a library exports 'else' then the built-in 'cond' no longer recognizes 'else' for users of that library. This is not how other R6RS implementations behave, but IIRC it is somehow expected that Guile behaves this way. It leads to annoying and hard to find bugs. --=20 G=C3=B6ran Weinholt Debian developer 73 de SA6CJK