ludo@HIDDEN (Ludovic Courtès)
to control <at> debbugs.gnu.org
.
Full text available.ludo@HIDDEN (Ludovic Courtès)
to control <at> debbugs.gnu.org
.
Full text available.Received: (at 11198) by debbugs.gnu.org; 27 Nov 2012 21:54:40 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Tue Nov 27 16:54:40 2012 Received: from localhost ([127.0.0.1]:42221 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1TdT72-0007mu-2l for submit <at> debbugs.gnu.org; Tue, 27 Nov 2012 16:54:40 -0500 Received: from xanadu.aquilenet.fr ([88.191.123.111]:49195) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from <ludo@HIDDEN>) id 1TdT70-0007mm-J9 for 11198 <at> debbugs.gnu.org; Tue, 27 Nov 2012 16:54:39 -0500 Received: from localhost (localhost [127.0.0.1]) by xanadu.aquilenet.fr (Postfix) with ESMTP id EACEAABC0 for <11198 <at> debbugs.gnu.org>; Tue, 27 Nov 2012 22:52:46 +0100 (CET) Received: from xanadu.aquilenet.fr ([127.0.0.1]) by localhost (xanadu.aquilenet.fr [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 1rfpdUIlCdVY for <11198 <at> debbugs.gnu.org>; Tue, 27 Nov 2012 22:52:46 +0100 (CET) Received: from pluto (reverse-83.fdn.fr [80.67.176.83]) by xanadu.aquilenet.fr (Postfix) with ESMTPSA id 9A8F2AB7E for <11198 <at> debbugs.gnu.org>; Tue, 27 Nov 2012 22:52:46 +0100 (CET) From: ludo@HIDDEN (Ludovic =?utf-8?Q?Court=C3=A8s?=) To: 11198 <at> debbugs.gnu.org Subject: Re: bug#11198: prefab structs in guile References: <Pine.LNX.4.61.1204072212190.6107@HIDDEN> <877gui7i3y.fsf@HIDDEN> <87ipe2dizn.fsf@HIDDEN> <878vex534f.fsf@HIDDEN> <874npldga9.fsf@HIDDEN> <87ipe13lya.fsf@HIDDEN> <87a9zdc0tc.fsf@HIDDEN> Date: Tue, 27 Nov 2012 22:52:46 +0100 In-Reply-To: <87a9zdc0tc.fsf@HIDDEN> ("Ludovic \=\?utf-8\?Q\?Court\=C3\=A8s\=22'\?\= \=\?utf-8\?Q\?s\?\= message of "Fri, 06 Jul 2012 00:14:55 +0200") Message-ID: <87boeig1ch.fsf@HIDDEN> User-Agent: Gnus/5.130005 (Ma Gnus v0.5) Emacs/24.2 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 1.5 (+) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has identified this incoming email as possible spam. The original message has been attached to this so you can view it (if it isn't spam) or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: retitle 11198 serializing structs (prefabs) tags 11198 wishlist thanks [...] Content analysis details: (1.5 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 0.7 SPF_SOFTFAIL SPF: sender does not match SPF record (softfail) 0.8 BAYES_50 BODY: Bayes spam probability is 40 to 60% [score: 0.5000] X-Debbugs-Envelope-To: 11198 X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <http://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <http://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <http://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Sender: debbugs-submit-bounces <at> debbugs.gnu.org Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org X-Spam-Score: 1.5 (+) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has identified this incoming email as possible spam. The original message has been attached to this so you can view it (if it isn't spam) or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: retitle 11198 serializing structs (prefabs) tags 11198 wishlist thanks [...] Content analysis details: (1.5 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 0.7 SPF_SOFTFAIL SPF: sender does not match SPF record (softfail) 0.8 BAYES_50 BODY: Bayes spam probability is 40 to 60% [score: 0.4949] retitle 11198 serializing structs (prefabs) tags 11198 wishlist thanks
bug-guile@HIDDEN
:bug#11198
; Package guile
.
Full text available.Received: (at 11198) by debbugs.gnu.org; 5 Jul 2012 22:19:54 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Thu Jul 05 18:19:54 2012 Received: from localhost ([127.0.0.1]:51115 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1SmuOw-0007Wb-5h for submit <at> debbugs.gnu.org; Thu, 05 Jul 2012 18:19:54 -0400 Received: from xanadu.aquilenet.fr ([88.191.123.111]:54828) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from <ludo@HIDDEN>) id 1SmuOt-0007WT-HR for 11198 <at> debbugs.gnu.org; Thu, 05 Jul 2012 18:19:52 -0400 Received: from localhost (localhost [127.0.0.1]) by xanadu.aquilenet.fr (Postfix) with ESMTP id 428CBE43E; Fri, 6 Jul 2012 00:14:56 +0200 (CEST) Received: from xanadu.aquilenet.fr ([127.0.0.1]) by localhost (xanadu.aquilenet.fr [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id mKnT14Yi-wUY; Fri, 6 Jul 2012 00:14:56 +0200 (CEST) Received: from pluto (reverse-83.fdn.fr [80.67.176.83]) by xanadu.aquilenet.fr (Postfix) with ESMTPSA id AC5A9DE91; Fri, 6 Jul 2012 00:14:55 +0200 (CEST) From: ludo@HIDDEN (Ludovic =?iso-8859-1?Q?Court=E8s?=) To: Andy Wingo <wingo@HIDDEN> Subject: Re: bug#11198: prefab structs in guile References: <Pine.LNX.4.61.1204072212190.6107@HIDDEN> <877gui7i3y.fsf@HIDDEN> <87ipe2dizn.fsf@HIDDEN> <878vex534f.fsf@HIDDEN> <874npldga9.fsf@HIDDEN> <87ipe13lya.fsf@HIDDEN> X-URL: http://www.fdn.fr/~lcourtes/ X-Revolutionary-Date: 19 Messidor an 220 de la =?iso-8859-1?Q?R=E9volution?= X-PGP-Key-ID: 0xEA52ECF4 X-PGP-Key: http://www.fdn.fr/~lcourtes/ludovic.asc X-PGP-Fingerprint: 83C4 F8E5 10A3 3B4C 5BEA D15D 77DD 95E2 EA52 ECF4 X-OS: x86_64-unknown-linux-gnu Date: Fri, 06 Jul 2012 00:14:55 +0200 In-Reply-To: <87ipe13lya.fsf@HIDDEN> (Andy Wingo's message of "Fri, 06 Jul 2012 00:03:09 +0200") Message-ID: <87a9zdc0tc.fsf@HIDDEN> User-Agent: Gnus/5.130005 (Ma Gnus v0.5) Emacs/24.1 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -1.2 (-) X-Debbugs-Envelope-To: 11198 Cc: 11198 <at> debbugs.gnu.org, guile-devel <guile-devel@HIDDEN> X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <http://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <http://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <http://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Sender: debbugs-submit-bounces <at> debbugs.gnu.org Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org X-Spam-Score: -1.2 (-) Hi, Andy Wingo <wingo@HIDDEN> skribis: > On Thu 05 Jul 2012 23:55, ludo@HIDDEN (Ludovic Court=C3=A8s) writes: > >> So I=E2=80=99d be in the =E2=80=98define-serializable-struct=E2=80=99 ca= mp, so to speak. > > That's a valid position to have in general. I can also imagine cases in > which you would choose other things. It's a spectrum. Yes, sure. It can be convenient to have something that makes it easy to serialize structs. But given that prefabs have to be =E2=80=9Cbuilt in=E2= =80=9D, and that they look can-of-wormey to my demanding eye ;-), I=E2=80=99d be in fav= or of anything built atop structs. And actually, there=E2=80=99s (oop goops save), which is extensible and everything. :-) Side note: while writing readers/writers by hand may look tedious, the advantage is that it makes it easy to leave room for future extensions, like allowing the reader to suitably map an old version of a serialized struct to the new data structure. >> Prefabs raise an number of interesting issues. For instance, what=E2=80= =99s the >> meaning of #s(sprout bean #f 17) in a module where =E2=80=98sprout=E2=80= =99 is unbound? > > Prefab structs are not modular. It is the same as in a module where > `sprout' is bound. Reading #s(sprout bean #f 17) may create an RTD if > needed, but it does not create any bindings. OK. So there can only be one =E2=80=98sprout=E2=80=99 prefab RTD in the wh= ole process, I guess. >> types are compared by name. > > As the documentation clearly indicates :), prefab structs are indeed > compared by name, though in a combination with other characteristics > (number of fields, and more characteristics for racket). Right. Argh. Thanks, Ludo=E2=80=99.
bug-guile@HIDDEN
:bug#11198
; Package guile
.
Full text available.Received: (at 11198) by debbugs.gnu.org; 5 Jul 2012 22:11:10 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Thu Jul 05 18:11:10 2012 Received: from localhost ([127.0.0.1]:51111 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1SmuGT-0007L2-O8 for submit <at> debbugs.gnu.org; Thu, 05 Jul 2012 18:11:10 -0400 Received: from a-pb-sasl-sd.pobox.com ([74.115.168.62]:53969 helo=sasl.smtp.pobox.com) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from <wingo@HIDDEN>) id 1SmuGS-0007Ku-Ii for 11198 <at> debbugs.gnu.org; Thu, 05 Jul 2012 18:11:09 -0400 Received: from sasl.smtp.pobox.com (unknown [127.0.0.1]) by b-pb-sasl-sd.pobox.com (Postfix) with ESMTP id C6581BA94; Thu, 5 Jul 2012 18:06:13 -0400 (EDT) DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=pobox.com; h=from:to:cc :subject:references:date:in-reply-to:message-id:mime-version :content-type:content-transfer-encoding; s=sasl; bh=5s0Is2qJxlFV PaM/nq24VaVdbGU=; b=NjTV9GPM17Hx3ir8Y9YVv+SFCJCCE+2RsagZxGe6QkUO EOao3Mw7epMzHk0k4kIW0oBTmQ3ad3KLrnlgcYXmEzobUu/4yjI2Oo3Ds40zwKYJ MCqp7rnJKgI/zqXZlvNoL+wznm4tYStq4gqYSOH5LTx8pDi1t5a9CrLKfxdXR40= DomainKey-Signature: a=rsa-sha1; c=nofws; d=pobox.com; h=from:to:cc :subject:references:date:in-reply-to:message-id:mime-version :content-type:content-transfer-encoding; q=dns; s=sasl; b=ODuuKC hNkX4kyenJ4yD5OPCNUWkiJ2auoA8Bny6AHv5xir8QUmzqfMYGM/s5oAKQykrWUC nG6+fd6XiSmYAgA9OxQZLNri/RjSndWTv/Ir39Dh7/Hi69ljVxpzVQaeiT+Y4U6S 1KdT8U3EtArQBDzEwTzPwHKO7Ny7AQ7ALdm5E= Received: from b-pb-sasl-sd. (unknown [127.0.0.1]) by b-pb-sasl-sd.pobox.com (Postfix) with ESMTP id BF267BA93; Thu, 5 Jul 2012 18:06:13 -0400 (EDT) Received: from badger (unknown [89.131.176.233]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by b-pb-sasl-sd.pobox.com (Postfix) with ESMTPSA id 2C85EBA92; Thu, 5 Jul 2012 18:06:13 -0400 (EDT) From: Andy Wingo <wingo@HIDDEN> To: ludo@HIDDEN (Ludovic =?utf-8?Q?Court=C3=A8s?=) Subject: Re: bug#11198: prefab structs in guile References: <Pine.LNX.4.61.1204072212190.6107@HIDDEN> <877gui7i3y.fsf@HIDDEN> <87ipe2dizn.fsf@HIDDEN> <878vex534f.fsf@HIDDEN> <874npldga9.fsf@HIDDEN> Date: Fri, 06 Jul 2012 00:06:10 +0200 In-Reply-To: <874npldga9.fsf@HIDDEN> ("Ludovic \=\?utf-8\?Q\?Court\=C3\=A8s\=22'\?\= \=\?utf-8\?Q\?s\?\= message of "Thu, 05 Jul 2012 23:55:26 +0200") Message-ID: <87ehop3lt9.fsf@HIDDEN> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.1 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Pobox-Relay-ID: A27B17CE-C6ED-11E1-A52D-FA6787E41631-02397024!b-pb-sasl-sd.pobox.com X-Spam-Score: -1.9 (-) X-Debbugs-Envelope-To: 11198 Cc: 11198 <at> debbugs.gnu.org, guile-devel <guile-devel@HIDDEN> X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <http://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <http://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <http://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Sender: debbugs-submit-bounces <at> debbugs.gnu.org Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org X-Spam-Score: -1.9 (-) On Thu 05 Jul 2012 23:55, ludo@HIDDEN (Ludovic Court=C3=A8s) writes: > Andy Wingo <wingo@HIDDEN> skribis: > >> Since the expression reader can generate prefab instances, they are >> useful when convenient serialization is more important than >> abstraction. Opaque and transparent structures also can be serialized, >> however, if they are defined with define-serializable-struct as >> described in Datatypes and Serialization. > > So I=E2=80=99d be in the =E2=80=98define-serializable-struct=E2=80=99 cam= p, so to speak. To be clear: in Racket, serializable structs are not readable. That's the whole point of prefab structs: a struct that is readable. Andy --=20 http://wingolog.org/
bug-guile@HIDDEN
:bug#11198
; Package guile
.
Full text available.Received: (at 11198) by debbugs.gnu.org; 5 Jul 2012 22:08:11 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Thu Jul 05 18:08:11 2012 Received: from localhost ([127.0.0.1]:51107 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1SmuDa-0007Gv-Oc for submit <at> debbugs.gnu.org; Thu, 05 Jul 2012 18:08:11 -0400 Received: from a-pb-sasl-sd.pobox.com ([74.115.168.62]:51617 helo=sasl.smtp.pobox.com) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from <wingo@HIDDEN>) id 1SmuDY-0007Gn-1c for 11198 <at> debbugs.gnu.org; Thu, 05 Jul 2012 18:08:09 -0400 Received: from sasl.smtp.pobox.com (unknown [127.0.0.1]) by b-pb-sasl-sd.pobox.com (Postfix) with ESMTP id AB040BA4E; Thu, 5 Jul 2012 18:03:12 -0400 (EDT) DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=pobox.com; h=from:to:cc :subject:references:date:in-reply-to:message-id:mime-version :content-type:content-transfer-encoding; s=sasl; bh=39A5t+9Yux0R wAWj2svhC9dVJ48=; b=HQHbMh46Ag0PBJJ3d55czITUvFaoAahTWZGcbpysvhoq WX7JBJSxmiSLhDUpvCl2c0WW+YPZT2bNyZ9cUwTiI5/FQhirDahH/691l1tuc9++ 0mBKWD8l/vcoPnoxy/BHwCNNo596zbQ20bRJY0WuwevC2x1RHrbn/uTCGZvC5qk= DomainKey-Signature: a=rsa-sha1; c=nofws; d=pobox.com; h=from:to:cc :subject:references:date:in-reply-to:message-id:mime-version :content-type:content-transfer-encoding; q=dns; s=sasl; b=o0pHcj Mtdfg+SzilckxxFI/kjfwC72Li4no0rIuPXy+KEB80bu9AIQc/lz5+7uhgdiJrep U+qMNNwO+CygDXBE1H61XPMMQJtbg+wiXj/7Em0evGaW/mxko1JyTtJUVNJ8Ktlq WkxR8A8tQrpxtdnLkyd2HXfJ7Eb2dRCIGMNlY= Received: from b-pb-sasl-sd. (unknown [127.0.0.1]) by b-pb-sasl-sd.pobox.com (Postfix) with ESMTP id A3595BA4D; Thu, 5 Jul 2012 18:03:12 -0400 (EDT) Received: from badger (unknown [89.131.176.233]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by b-pb-sasl-sd.pobox.com (Postfix) with ESMTPSA id 0BC21BA4C; Thu, 5 Jul 2012 18:03:11 -0400 (EDT) From: Andy Wingo <wingo@HIDDEN> To: ludo@HIDDEN (Ludovic =?utf-8?Q?Court=C3=A8s?=) Subject: Re: bug#11198: prefab structs in guile References: <Pine.LNX.4.61.1204072212190.6107@HIDDEN> <877gui7i3y.fsf@HIDDEN> <87ipe2dizn.fsf@HIDDEN> <878vex534f.fsf@HIDDEN> <874npldga9.fsf@HIDDEN> Date: Fri, 06 Jul 2012 00:03:09 +0200 In-Reply-To: <874npldga9.fsf@HIDDEN> ("Ludovic \=\?utf-8\?Q\?Court\=C3\=A8s\=22'\?\= \=\?utf-8\?Q\?s\?\= message of "Thu, 05 Jul 2012 23:55:26 +0200") Message-ID: <87ipe13lya.fsf@HIDDEN> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.1 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Pobox-Relay-ID: 36843938-C6ED-11E1-AFA4-FA6787E41631-02397024!b-pb-sasl-sd.pobox.com X-Spam-Score: -1.9 (-) X-Debbugs-Envelope-To: 11198 Cc: 11198 <at> debbugs.gnu.org, guile-devel <guile-devel@HIDDEN> X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <http://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <http://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <http://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Sender: debbugs-submit-bounces <at> debbugs.gnu.org Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org X-Spam-Score: -1.9 (-) On Thu 05 Jul 2012 23:55, ludo@HIDDEN (Ludovic Court=C3=A8s) writes: > So I=E2=80=99d be in the =E2=80=98define-serializable-struct=E2=80=99 cam= p, so to speak. That's a valid position to have in general. I can also imagine cases in which you would choose other things. It's a spectrum. > Prefabs raise an number of interesting issues. For instance, what=E2=80= =99s the > meaning of #s(sprout bean #f 17) in a module where =E2=80=98sprout=E2=80= =99 is unbound? Prefab structs are not modular. It is the same as in a module where `sprout' is bound. Reading #s(sprout bean #f 17) may create an RTD if needed, but it does not create any bindings. > types are compared by name. As the documentation clearly indicates :), prefab structs are indeed compared by name, though in a combination with other characteristics (number of fields, and more characteristics for racket). Andy --=20 http://wingolog.org/
bug-guile@HIDDEN
:bug#11198
; Package guile
.
Full text available.Received: (at 11198) by debbugs.gnu.org; 5 Jul 2012 22:00:27 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Thu Jul 05 18:00:27 2012 Received: from localhost ([127.0.0.1]:51098 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1Smu67-0006xL-H5 for submit <at> debbugs.gnu.org; Thu, 05 Jul 2012 18:00:27 -0400 Received: from xanadu.aquilenet.fr ([88.191.123.111]:54482) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from <ludo@HIDDEN>) id 1Smu64-0006rH-5C for 11198 <at> debbugs.gnu.org; Thu, 05 Jul 2012 18:00:25 -0400 Received: from localhost (localhost [127.0.0.1]) by xanadu.aquilenet.fr (Postfix) with ESMTP id 8601FE049; Thu, 5 Jul 2012 23:55:27 +0200 (CEST) Received: from xanadu.aquilenet.fr ([127.0.0.1]) by localhost (xanadu.aquilenet.fr [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id OYH9NJkNzTzN; Thu, 5 Jul 2012 23:55:27 +0200 (CEST) Received: from pluto (reverse-83.fdn.fr [80.67.176.83]) by xanadu.aquilenet.fr (Postfix) with ESMTPSA id E844FB968; Thu, 5 Jul 2012 23:55:26 +0200 (CEST) From: ludo@HIDDEN (Ludovic =?iso-8859-1?Q?Court=E8s?=) To: Andy Wingo <wingo@HIDDEN> Subject: Re: bug#11198: prefab structs in guile References: <Pine.LNX.4.61.1204072212190.6107@HIDDEN> <877gui7i3y.fsf@HIDDEN> <87ipe2dizn.fsf@HIDDEN> <878vex534f.fsf@HIDDEN> X-URL: http://www.fdn.fr/~lcourtes/ X-Revolutionary-Date: 18 Messidor an 220 de la =?iso-8859-1?Q?R=E9volution?= X-PGP-Key-ID: 0xEA52ECF4 X-PGP-Key: http://www.fdn.fr/~lcourtes/ludovic.asc X-PGP-Fingerprint: 83C4 F8E5 10A3 3B4C 5BEA D15D 77DD 95E2 EA52 ECF4 X-OS: x86_64-unknown-linux-gnu Date: Thu, 05 Jul 2012 23:55:26 +0200 In-Reply-To: <878vex534f.fsf@HIDDEN> (Andy Wingo's message of "Thu, 05 Jul 2012 23:06:56 +0200") Message-ID: <874npldga9.fsf@HIDDEN> User-Agent: Gnus/5.130005 (Ma Gnus v0.5) Emacs/24.1 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -1.2 (-) X-Debbugs-Envelope-To: 11198 Cc: 11198 <at> debbugs.gnu.org, guile-devel <guile-devel@HIDDEN> X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <http://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <http://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <http://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Sender: debbugs-submit-bounces <at> debbugs.gnu.org Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org X-Spam-Score: -1.2 (-) Hi, Andy Wingo <wingo@HIDDEN> skribis: > Since the expression reader can generate prefab instances, they are > useful when convenient serialization is more important than > abstraction. Opaque and transparent structures also can be serialized, > however, if they are defined with define-serializable-struct as > described in Datatypes and Serialization. So I=E2=80=99d be in the =E2=80=98define-serializable-struct=E2=80=99 camp,= so to speak. Prefabs raise an number of interesting issues. For instance, what=E2=80=99= s the meaning of #s(sprout bean #f 17) in a module where =E2=80=98sprout=E2=80=99= is unbound? In a module where it=E2=80=99s bound to a given RTD vs. in a module where i= t=E2=80=99s bound to a different RTD? Does =E2=80=98read=E2=80=99 have to be current-m= odule-aware? Etc. This example is a bit scary to me: > (define lunch '#s(sprout bean)) =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20 > (struct sprout (kind) #:prefab) =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20 > (sprout? lunch)=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20 #t=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20 since it implies that types are compared by name. Thanks, Ludo=E2=80=99.
bug-guile@HIDDEN
:bug#11198
; Package guile
.
Full text available.Received: (at 11198) by debbugs.gnu.org; 5 Jul 2012 21:12:02 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Thu Jul 05 17:12:02 2012 Received: from localhost ([127.0.0.1]:51042 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1SmtLG-0003Wo-5v for submit <at> debbugs.gnu.org; Thu, 05 Jul 2012 17:12:02 -0400 Received: from a-pb-sasl-sd.pobox.com ([74.115.168.62]:34400 helo=sasl.smtp.pobox.com) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from <wingo@HIDDEN>) id 1SmtLE-0003WQ-0Q for 11198 <at> debbugs.gnu.org; Thu, 05 Jul 2012 17:12:00 -0400 Received: from sasl.smtp.pobox.com (unknown [127.0.0.1]) by b-pb-sasl-sd.pobox.com (Postfix) with ESMTP id 54A0AB677; Thu, 5 Jul 2012 17:07:05 -0400 (EDT) DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=pobox.com; h=from:to:cc :subject:references:date:in-reply-to:message-id:mime-version :content-type:content-transfer-encoding; s=sasl; bh=idGUnGHwNRVJ Iw0Ld1UwxYQkcXg=; b=RfEeb9XOe2apLqfuV2kaM5XXWXNVs0LJMbvL1SzbbFYP Kb+2QABMt4SUdOl0rH2cgCO5PWjAbIENu3HbPmPgf34Fj30DGr9yDPNAS0ntKlz1 WqRKFi6OQwwhRRla8wnF7IbmMRsDf4ATRJhCjnRPeToUb6P3OcrXnux9uJV66/k= DomainKey-Signature: a=rsa-sha1; c=nofws; d=pobox.com; h=from:to:cc :subject:references:date:in-reply-to:message-id:mime-version :content-type:content-transfer-encoding; q=dns; s=sasl; b=TBtJrI aseJZpBGJZNJdsV4NcgtT9q4uu31A1f8eX6wJ0hN0bPgBEovmpaD7cigwV6KMWXI SUcxwmCCOFbZ8lr1Jfaj2g7MX8cmed5AOrl/y4bwZfuVn9fKS+4FkBlJxuBjHMAt dO8UMBY1716fyAUR/TSgebNMhR/aeFBBdrvWo= Received: from b-pb-sasl-sd. (unknown [127.0.0.1]) by b-pb-sasl-sd.pobox.com (Postfix) with ESMTP id 4BC35B676; Thu, 5 Jul 2012 17:07:05 -0400 (EDT) Received: from badger (unknown [89.131.176.233]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by b-pb-sasl-sd.pobox.com (Postfix) with ESMTPSA id 85DE6B675; Thu, 5 Jul 2012 17:07:04 -0400 (EDT) From: Andy Wingo <wingo@HIDDEN> To: ludo@HIDDEN (Ludovic =?utf-8?Q?Court=C3=A8s?=) Subject: Re: bug#11198: prefab structs in guile References: <Pine.LNX.4.61.1204072212190.6107@HIDDEN> <877gui7i3y.fsf@HIDDEN> <87ipe2dizn.fsf@HIDDEN> Date: Thu, 05 Jul 2012 23:06:56 +0200 In-Reply-To: <87ipe2dizn.fsf@HIDDEN> ("Ludovic \=\?utf-8\?Q\?Court\=C3\=A8s\=22'\?\= \=\?utf-8\?Q\?s\?\= message of "Thu, 05 Jul 2012 22:57:00 +0200") Message-ID: <878vex534f.fsf@HIDDEN> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.1 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Pobox-Relay-ID: 5F54A134-C6E5-11E1-8CFC-FA6787E41631-02397024!b-pb-sasl-sd.pobox.com X-Spam-Score: -1.9 (-) X-Debbugs-Envelope-To: 11198 Cc: 11198 <at> debbugs.gnu.org, guile-devel <guile-devel@HIDDEN> X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <http://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <http://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <http://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Sender: debbugs-submit-bounces <at> debbugs.gnu.org Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org X-Spam-Score: -1.9 (-) On Thu 05 Jul 2012 22:57, ludo@HIDDEN (Ludovic Court=C3=A8s) writes: > Andy Wingo <wingo@HIDDEN> skribis: > >> Then you would modify the reader to call out to (ice-9 prefab) with >> the list after #s, e.g. the (foo ...) in #s(foo ...). (ice-9 prefab) >> would return the record, creating the RTD if needed. > > The problem with this is that one could precisely forge instances of a > given record type, thereby breaking the type safety we currently have > (each instance of a record type is genuine, in the sense of Rees=E2=80=99= =E2=80=9CA > Security kernel Based on the Lambda-Calculus=E2=80=9D.) > > Does Racket address this somehow? See: http://docs.racket-lang.org/guide/define-struct.html?q=3Drecord&q=3Dstruc= ts&q=3Drecords#(part._prefab-struct) Specifically: Every prefab structure type is transparent=E2=80=94but even less abstract= than a transparent type, because instances can be created without any access to a particular structure-type declaration or existing examples. Overall, the different options for structure types offer a spectrum of possibilities from more abstract to more convenient: Opaque (the default) : Instances cannot be inspected or forged without access to the structure-type declaration. As discussed in the next section, constructor guards and properties can be attached to the structure type to further protect or to specialize the behavior of its instances. Transparent : Anyone can inspect or create an instance without access to the structure-type declaration, which means that the value printer can show the content of an instance. All instance creation passes through a constructor guard, however, so that the content of an instance can be controlled, and the behavior of instances can be specialized through properties. Since the structure type is generated by its definition, instances cannot be manufactured simply through the name of the structure type, and therefore cannot be generated automatically by the expression reader. Prefab : Anyone can inspect or create an instance at any time, without prior access to a structure-type declaration or an example instance. Consequently, the expression reader can manufacture instances directly. The instance cannot have a constructor guard or properties. Since the expression reader can generate prefab instances, they are useful when convenient serialization is more important than abstraction. Opaque and transparent structures also can be serialized, however, if they are defined with define-serializable-struct as described in Datatypes and Serialization. Andy --=20 http://wingolog.org/
bug-guile@HIDDEN
:bug#11198
; Package guile
.
Full text available.Received: (at 11198) by debbugs.gnu.org; 5 Jul 2012 21:02:02 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Thu Jul 05 17:02:02 2012 Received: from localhost ([127.0.0.1]:51013 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1SmtBZ-0003HK-SP for submit <at> debbugs.gnu.org; Thu, 05 Jul 2012 17:02:02 -0400 Received: from xanadu.aquilenet.fr ([88.191.123.111]:57537) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from <ludo@HIDDEN>) id 1SmtBW-0003H9-L1 for 11198 <at> debbugs.gnu.org; Thu, 05 Jul 2012 17:01:59 -0400 Received: from localhost (localhost [127.0.0.1]) by xanadu.aquilenet.fr (Postfix) with ESMTP id E9A14E11E; Thu, 5 Jul 2012 22:57:02 +0200 (CEST) Received: from xanadu.aquilenet.fr ([127.0.0.1]) by localhost (xanadu.aquilenet.fr [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 1TllexIeuR1r; Thu, 5 Jul 2012 22:57:02 +0200 (CEST) Received: from pluto (reverse-83.fdn.fr [80.67.176.83]) by xanadu.aquilenet.fr (Postfix) with ESMTPSA id 2CB22DD85; Thu, 5 Jul 2012 22:57:02 +0200 (CEST) From: ludo@HIDDEN (Ludovic =?iso-8859-1?Q?Court=E8s?=) To: Andy Wingo <wingo@HIDDEN> Subject: Re: bug#11198: prefab structs in guile References: <Pine.LNX.4.61.1204072212190.6107@HIDDEN> <877gui7i3y.fsf@HIDDEN> Date: Thu, 05 Jul 2012 22:57:00 +0200 In-Reply-To: <877gui7i3y.fsf@HIDDEN> (Andy Wingo's message of "Thu, 05 Jul 2012 10:00:17 +0200") Message-ID: <87ipe2dizn.fsf@HIDDEN> User-Agent: Gnus/5.130005 (Ma Gnus v0.5) Emacs/24.1 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -1.2 (-) X-Debbugs-Envelope-To: 11198 Cc: 11198 <at> debbugs.gnu.org, guile-devel <guile-devel@HIDDEN> X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <http://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <http://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <http://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Sender: debbugs-submit-bounces <at> debbugs.gnu.org Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org X-Spam-Score: -1.2 (-) Hello, Andy Wingo <wingo@HIDDEN> skribis: > Then you would modify the reader to call out to (ice-9 prefab) with > the list after #s, e.g. the (foo ...) in #s(foo ...). (ice-9 prefab) > would return the record, creating the RTD if needed. The problem with this is that one could precisely forge instances of a given record type, thereby breaking the type safety we currently have (each instance of a record type is genuine, in the sense of Rees=E2=80=99 = =E2=80=9CA Security kernel Based on the Lambda-Calculus=E2=80=9D.) Does Racket address this somehow? Thanks, Ludo=E2=80=99.
bug-guile@HIDDEN
:bug#11198
; Package guile
.
Full text available.Received: (at 11198) by debbugs.gnu.org; 5 Jul 2012 12:55:27 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Thu Jul 05 08:55:27 2012 Received: from localhost ([127.0.0.1]:49944 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1Smlag-0005ol-QJ for submit <at> debbugs.gnu.org; Thu, 05 Jul 2012 08:55:27 -0400 Received: from a-pb-sasl-sd.pobox.com ([74.115.168.62]:37346 helo=sasl.smtp.pobox.com) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from <wingo@HIDDEN>) id 1Smlae-0005od-18 for 11198 <at> debbugs.gnu.org; Thu, 05 Jul 2012 08:55:25 -0400 Received: from sasl.smtp.pobox.com (unknown [127.0.0.1]) by b-pb-sasl-sd.pobox.com (Postfix) with ESMTP id 131E8B34F; Thu, 5 Jul 2012 08:50:31 -0400 (EDT) DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=pobox.com; h=from:to:cc :subject:date:message-id:mime-version:content-type; s=sasl; bh=Q lSKKb5jJgTTJjjnUtFincgTrgM=; b=oveM9VwWGqN/RIvP2xunFke7pG0I2gPVU YBt1/aarudnRrVY/06WWHP+u6D+BET9ymwhY84xg9ro54BQPBObOFQKU8hjGk9ky gBsfIVF7uNgSuZ+p1lYmwtpY2nBOIzuTq0LZRpH8aDosXCR0GnAQQ2tiUFABhl84 IxlXDcUL4I= DomainKey-Signature: a=rsa-sha1; c=nofws; d=pobox.com; h=from:to:cc :subject:date:message-id:mime-version:content-type; q=dns; s= sasl; b=EabxRZ0MCh1AYyj8JH3UKwx4AMRSLvrp0HRA48buE8eo1mSL2Hu8vmb1 cIKIr9/DsNerD9+cOBrfrqHk1jRcF3weXbyvurO2rN/XBpoqWnrsThk9w894Dw35 xToRnSR06bELdytvHUabVL5mFlt49XWOViT8t4rOAZ1Ne2Q5jtU= Received: from b-pb-sasl-sd. (unknown [127.0.0.1]) by b-pb-sasl-sd.pobox.com (Postfix) with ESMTP id 09EA7B34E; Thu, 5 Jul 2012 08:50:31 -0400 (EDT) Received: from badger (unknown [89.131.176.233]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by b-pb-sasl-sd.pobox.com (Postfix) with ESMTPSA id 63C99B34D; Thu, 5 Jul 2012 08:50:30 -0400 (EDT) From: Andy Wingo <wingo@HIDDEN> To: guile-devel <guile-devel@HIDDEN> Subject: prefab structs in guile Date: Thu, 05 Jul 2012 10:00:17 +0200 Message-ID: <877gui7i3y.fsf@HIDDEN> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.1 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Pobox-Relay-ID: 00A3A738-C6A0-11E1-8E40-FA6787E41631-02397024!b-pb-sasl-sd.pobox.com X-Spam-Score: -0.3 (/) X-Debbugs-Envelope-To: 11198 Cc: 11198 <at> debbugs.gnu.org X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <http://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <http://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <http://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Sender: debbugs-submit-bounces <at> debbugs.gnu.org Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org X-Spam-Score: -0.3 (/) Hi, We should think about supporting prefab structs in Guile. For more details, see: http://docs.racket-lang.org/guide/define-struct.html?q=prefab#%28part._prefab-struct%29 http://docs.racket-lang.org/reference/structures.html?q=record&q=structs&q=records#(tech._prefab) The reason is that sometimes you want to allow structures to be serialized (to Scheme or into object code) and read back in. See bug 11198 for an example. I don't have time for this currently, but here's one plan on how you would do it. You would create a new Scheme module, (ice-9 prefab) or something. It would contain a map from (name, number of fields) -> record type descriptor. (We don't have #:mutable, #:auto, or supertypes; these would be separate projects.) Then you would modify the reader to call out to (ice-9 prefab) with the list after #s, e.g. the (foo ...) in #s(foo ...). (ice-9 prefab) would return the record, creating the RTD if needed. You also modify the printer. You also modify SRFI-9's define-record-type to recognize #:prefab, or some other name. You also add code to the glil->assembly compiler to recognize prefab structs, and you add an opcode to look up a prefab struct RTD. I think that would be it. Anyone interested? Andy -- http://wingolog.org/
bug-guile@HIDDEN
:bug#11198
; Package guile
.
Full text available.Received: (at 11198) by debbugs.gnu.org; 24 Apr 2012 16:23:42 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Tue Apr 24 12:23:42 2012 Received: from localhost ([127.0.0.1]:50945 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1SMiWk-0001Oh-Bt for submit <at> debbugs.gnu.org; Tue, 24 Apr 2012 12:23:42 -0400 Received: from xanadu.aquilenet.fr ([88.191.123.111]:36101) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from <ludo@HIDDEN>) id 1SMiWg-0001OY-LU for 11198 <at> debbugs.gnu.org; Tue, 24 Apr 2012 12:23:40 -0400 Received: from localhost (xanadu.aquilenet.fr [127.0.0.1]) by xanadu.aquilenet.fr (Postfix) with ESMTP id 1D4ACA685; Tue, 24 Apr 2012 18:22:49 +0200 (CEST) Received: from xanadu.aquilenet.fr ([127.0.0.1]) by localhost (xanadu.aquilenet.fr [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id WBT56lDEY+wq; Tue, 24 Apr 2012 18:22:49 +0200 (CEST) Received: from pluto (unknown [193.50.110.130]) by xanadu.aquilenet.fr (Postfix) with ESMTPSA id 85783A5DA; Tue, 24 Apr 2012 18:22:48 +0200 (CEST) From: ludo@HIDDEN (Ludovic =?iso-8859-1?Q?Court=E8s?=) To: Noah Lavine <noah.b.lavine@HIDDEN> Subject: Re: bug#11198: problems reading data with a "read-hash-extend" registered reader References: <Pine.LNX.4.61.1204072212190.6107@HIDDEN> <87zkaka9xl.fsf@HIDDEN> <87d37e83n7.fsf@HIDDEN> <Pine.LNX.4.61.1204112213340.10963@HIDDEN> <87hawb3ms1.fsf@HIDDEN> <87mx63prwe.fsf@HIDDEN> <87lillwnvl.fsf@HIDDEN> <CA+U71=PSKaRE_xeLkDgu1Pyu7a6rBgKCH6yJJYfnw-2pPVNXwg@HIDDEN> X-URL: http://www.fdn.fr/~lcourtes/ X-Revolutionary-Date: 6 =?iso-8859-1?Q?Flor=E9al?= an 220 de la =?iso-8859-1?Q?R=E9volution?= X-PGP-Key-ID: 0xEA52ECF4 X-PGP-Key: http://www.fdn.fr/~lcourtes/ludovic.asc X-PGP-Fingerprint: 83C4 F8E5 10A3 3B4C 5BEA D15D 77DD 95E2 EA52 ECF4 X-OS: x86_64-unknown-linux-gnu Date: Tue, 24 Apr 2012 18:22:48 +0200 In-Reply-To: <CA+U71=PSKaRE_xeLkDgu1Pyu7a6rBgKCH6yJJYfnw-2pPVNXwg@HIDDEN> (Noah Lavine's message of "Tue, 24 Apr 2012 07:24:18 -0400") Message-ID: <874ns914mf.fsf@HIDDEN> User-Agent: Gnus/5.110018 (No Gnus v0.18) Emacs/24.0.93 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -1.2 (-) X-Debbugs-Envelope-To: 11198 Cc: Andy Wingo <wingo@HIDDEN>, Mark H Weaver <mhw@HIDDEN>, 11198 <at> debbugs.gnu.org, Klaus Stehle <klaus.stehle@HIDDEN> X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <http://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <http://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <http://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Sender: debbugs-submit-bounces <at> debbugs.gnu.org Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org X-Spam-Score: -1.2 (-) Hi Noah, Noah Lavine <noah.b.lavine@HIDDEN> skribis: > Why don't we provide an interface to define a serializer as well as a > reader, and have compile-assembly use these serializers? As long as > each type has both a serializer and a reader, it should work fine. > That also feels symmetrical, which I take as a good sign. :-) Yes, sounds like a good idea. However, this discussion should be moved to guile-devel@HIDDEN IMO, as it=E2=80=99s not going to address the bug report at hand in a timely fashio= n. Thanks, Ludo=E2=80=99.
bug-guile@HIDDEN
:bug#11198
; Package guile
.
Full text available.Received: (at 11198) by debbugs.gnu.org; 24 Apr 2012 11:39:15 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Tue Apr 24 07:39:15 2012 Received: from localhost ([127.0.0.1]:50176 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1SMe5Q-00032D-Km for submit <at> debbugs.gnu.org; Tue, 24 Apr 2012 07:39:14 -0400 Received: from mail-iy0-f172.google.com ([209.85.210.172]:52422) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from <noah549@HIDDEN>) id 1SMe5N-000320-St for 11198 <at> debbugs.gnu.org; Tue, 24 Apr 2012 07:39:10 -0400 Received: by iazz13 with SMTP id z13so885434iaz.3 for <11198 <at> debbugs.gnu.org>; Tue, 24 Apr 2012 04:38:17 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:date :x-google-sender-auth:message-id:subject:from:to:cc:content-type; bh=cBPhpvkTAaXO8+xL+Xgzcis0p6iOpcW58FEkFJfFVFA=; b=cWgQr/42krkALWDoqYmO5c0fB0/HZqs6AF4CfjH2NX+H+RmKJrsYud8EAqP/++0QaN DgGqfTT8tLaNUTxRZI3Y+3E04CfhrbJi9SQlpUqnLUa37D8otgFKPA15hznBxmtp2nDB XZa6jAI88FAQJ1Mq4N6LYpGZ+ZFRy1+lOYUjvAuKTJ8bLnYBlIfRVVrP/qOmhf5Sk41i JsAKXJDwRq26coW77PbDASm1jMa/MDkYvdKG8z3Vpso24dBkjr7xPi7AxIM54Sr80J/i ISsqnYOYxC0PFuaSzlVWamsAK3Pi//OtMQ0fDq6qxyAqX7fiAn3HC3onHFBycufkvKwj rMOA== MIME-Version: 1.0 Received: by 10.50.202.69 with SMTP id kg5mr9628841igc.7.1335267497385; Tue, 24 Apr 2012 04:38:17 -0700 (PDT) Received: by 10.42.29.200 with HTTP; Tue, 24 Apr 2012 04:38:17 -0700 (PDT) In-Reply-To: <CA+U71=PSKaRE_xeLkDgu1Pyu7a6rBgKCH6yJJYfnw-2pPVNXwg@HIDDEN> References: <Pine.LNX.4.61.1204072212190.6107@HIDDEN> <87zkaka9xl.fsf@HIDDEN> <87d37e83n7.fsf@HIDDEN> <Pine.LNX.4.61.1204112213340.10963@HIDDEN> <87hawb3ms1.fsf@HIDDEN> <87mx63prwe.fsf@HIDDEN> <87lillwnvl.fsf@HIDDEN> <CA+U71=PSKaRE_xeLkDgu1Pyu7a6rBgKCH6yJJYfnw-2pPVNXwg@HIDDEN> Date: Tue, 24 Apr 2012 07:38:17 -0400 X-Google-Sender-Auth: N3T13GcxYdIbBnbGaPbrOfhPW8s Message-ID: <CA+U71=PpGwLtGo5dKSgaUAK=CW8DWdzGoA2fMW1MMtxD09S5tw@HIDDEN> Subject: Re: bug#11198: problems reading data with a "read-hash-extend" registered reader From: Noah Lavine <noah.b.lavine@HIDDEN> To: Andy Wingo <wingo@HIDDEN> Content-Type: text/plain; charset=ISO-8859-1 X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 11198 Cc: Mark H Weaver <mhw@HIDDEN>, =?ISO-8859-1?Q?Ludovic_Court=E8s?= <ludo@HIDDEN>, 11198 <at> debbugs.gnu.org, Klaus Stehle <klaus.stehle@HIDDEN> X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <http://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <http://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <http://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Sender: debbugs-submit-bounces <at> debbugs.gnu.org Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org X-Spam-Score: -2.3 (--) And just a quick note - this problem is more general than record types. If someone added a type through C and wanted it to have a read syntax, the same issue would apply. I can imagine times when this would be very useful - for instance, you have a C extension to Guile, and you want to be able to send data between your different Guile instances in a way that is easy to manually inspect. You need a reader and a serializer for your C things. Noah On Tue, Apr 24, 2012 at 7:24 AM, Noah Lavine <noah.b.lavine@HIDDEN> wrote: > Hello, > >>> I think the reader should only return valid Scheme objects that have a >>> read syntax (info "(r5rs) Lexical Structure"), and records are not among >>> them. >> >> I agree, FWIW. > > This seems like circular logic to me - extending the reader should > mean that new types can have read syntax. The problem here, I think, > is that the compiler also needs to know how to serialize those types. > > Why don't we provide an interface to define a serializer as well as a > reader, and have compile-assembly use these serializers? As long as > each type has both a serializer and a reader, it should work fine. > That also feels symmetrical, which I take as a good sign. :-) > > Noah
bug-guile@HIDDEN
:bug#11198
; Package guile
.
Full text available.Received: (at 11198) by debbugs.gnu.org; 24 Apr 2012 11:25:13 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Tue Apr 24 07:25:13 2012 Received: from localhost ([127.0.0.1]:50156 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1SMdrt-0001u5-0X for submit <at> debbugs.gnu.org; Tue, 24 Apr 2012 07:25:13 -0400 Received: from mail-iy0-f172.google.com ([209.85.210.172]:59197) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from <noah549@HIDDEN>) id 1SMdrq-0001tq-DH for 11198 <at> debbugs.gnu.org; Tue, 24 Apr 2012 07:25:11 -0400 Received: by iazz13 with SMTP id z13so872979iaz.3 for <11198 <at> debbugs.gnu.org>; Tue, 24 Apr 2012 04:24:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:date :x-google-sender-auth:message-id:subject:from:to:cc:content-type; bh=JEKp0/PqfhBe8hsyzEQxxMtwfY9euMs3AbMoZBXCe4o=; b=oNC4+O4p28jNXTM3CD8wj5K0NBsXKnRF2LiFejJ6WQCt/UniLvfH3vSYCmKaz3GWZ+ DxAwEhgpAlOtmWbxLgf7yAMVA3FEQ1b6Tn2krXaaMGZH0JC9tAtsOX3VTDNIH7FrnbRQ SaIbQMcisNrQZm+eR/v1Ki6IG2VSJFy4LzKLOs2Jq3iyJLLk1ZrOPsjnKrug8zbPCUZt anohnji4EAO3ZfMDdW6au5PGa8R0dIMXnUDAcC72kiouHfb/T1Xco5qYr9N6jNAZ3PKb EGFfzh0dXItuE15Mhy0TTdXVVyUadYcvlKQ3T8w0kIyJWACfq54FZDxOXZQRVq8AcF/H rG8A== MIME-Version: 1.0 Received: by 10.43.49.3 with SMTP id uy3mr4543193icb.2.1335266658110; Tue, 24 Apr 2012 04:24:18 -0700 (PDT) Received: by 10.42.29.200 with HTTP; Tue, 24 Apr 2012 04:24:18 -0700 (PDT) In-Reply-To: <87lillwnvl.fsf@HIDDEN> References: <Pine.LNX.4.61.1204072212190.6107@HIDDEN> <87zkaka9xl.fsf@HIDDEN> <87d37e83n7.fsf@HIDDEN> <Pine.LNX.4.61.1204112213340.10963@HIDDEN> <87hawb3ms1.fsf@HIDDEN> <87mx63prwe.fsf@HIDDEN> <87lillwnvl.fsf@HIDDEN> Date: Tue, 24 Apr 2012 07:24:18 -0400 X-Google-Sender-Auth: vh5xB-A_SpcyZyq9eZV89teuK-g Message-ID: <CA+U71=PSKaRE_xeLkDgu1Pyu7a6rBgKCH6yJJYfnw-2pPVNXwg@HIDDEN> Subject: Re: bug#11198: problems reading data with a "read-hash-extend" registered reader From: Noah Lavine <noah.b.lavine@HIDDEN> To: Andy Wingo <wingo@HIDDEN> Content-Type: text/plain; charset=ISO-8859-1 X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 11198 Cc: Mark H Weaver <mhw@HIDDEN>, =?ISO-8859-1?Q?Ludovic_Court=E8s?= <ludo@HIDDEN>, 11198 <at> debbugs.gnu.org, Klaus Stehle <klaus.stehle@HIDDEN> X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <http://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <http://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <http://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Sender: debbugs-submit-bounces <at> debbugs.gnu.org Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org X-Spam-Score: -2.3 (--) Hello, >> I think the reader should only return valid Scheme objects that have a >> read syntax (info "(r5rs) Lexical Structure"), and records are not among >> them. > > I agree, FWIW. This seems like circular logic to me - extending the reader should mean that new types can have read syntax. The problem here, I think, is that the compiler also needs to know how to serialize those types. Why don't we provide an interface to define a serializer as well as a reader, and have compile-assembly use these serializers? As long as each type has both a serializer and a reader, it should work fine. That also feels symmetrical, which I take as a good sign. :-) Noah
bug-guile@HIDDEN
:bug#11198
; Package guile
.
Full text available.Received: (at 11198) by debbugs.gnu.org; 24 Apr 2012 08:12:05 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Tue Apr 24 04:12:04 2012 Received: from localhost ([127.0.0.1]:49911 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1SMaqy-000509-JO for submit <at> debbugs.gnu.org; Tue, 24 Apr 2012 04:12:04 -0400 Received: from a-pb-sasl-sd.pobox.com ([74.115.168.62]:59851 helo=sasl.smtp.pobox.com) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from <wingo@HIDDEN>) id 1SMaqv-0004zj-L6 for 11198 <at> debbugs.gnu.org; Tue, 24 Apr 2012 04:12:03 -0400 Received: from sasl.smtp.pobox.com (unknown [127.0.0.1]) by a-pb-sasl-sd.pobox.com (Postfix) with ESMTP id 2A4D27019; Tue, 24 Apr 2012 04:11:15 -0400 (EDT) DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=pobox.com; h=from:to:cc :subject:references:date:in-reply-to:message-id:mime-version :content-type:content-transfer-encoding; s=sasl; bh=Wr2kAQz6wx/v o6b1D1d5O7AGwSU=; b=cfI7Gkgh7jZBHaYWJvOXMus18ujhMKup9i0qav4fMpsG jiQdnAhEz5rN0Yon/xGt8ktBkHDmImk3Kjc/zDWwL1h/Q0uG15S+Ag33xlMOhetM qVRrndXnZuxGhzY5MNzql0jD8JSAe5vI2AAhcq9fO085A0MwRUHu7E1BcaNYYks= DomainKey-Signature: a=rsa-sha1; c=nofws; d=pobox.com; h=from:to:cc :subject:references:date:in-reply-to:message-id:mime-version :content-type:content-transfer-encoding; q=dns; s=sasl; b=DWZchp JazBb4o9fiHKExFQRL6puuaqp9bM7gLP9WIYCYU4qoBDUzKDKORG7q/Qhkfdx+xn rE69rxN4xpcIaDAIY3n9LXQiYeOeXJ0ofVRT54tWNy+kTU/vpNWBxqRG8CHdJfSL hSAiE9cj6xIGv2/WcyGGuZDMjfpvNaqT2gGig= Received: from a-pb-sasl-sd.pobox.com (unknown [127.0.0.1]) by a-pb-sasl-sd.pobox.com (Postfix) with ESMTP id 2083E7018; Tue, 24 Apr 2012 04:11:15 -0400 (EDT) Received: from badger (unknown [90.164.198.39]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by a-pb-sasl-sd.pobox.com (Postfix) with ESMTPSA id 7CA9D7017; Tue, 24 Apr 2012 04:11:14 -0400 (EDT) From: Andy Wingo <wingo@HIDDEN> To: ludo@HIDDEN (Ludovic =?utf-8?Q?Court=C3=A8s?=) Subject: Re: bug#11198: problems reading data with a "read-hash-extend" registered reader References: <Pine.LNX.4.61.1204072212190.6107@HIDDEN> <87zkaka9xl.fsf@HIDDEN> <87d37e83n7.fsf@HIDDEN> <Pine.LNX.4.61.1204112213340.10963@HIDDEN> <87hawb3ms1.fsf@HIDDEN> <87mx63prwe.fsf@HIDDEN> Date: Tue, 24 Apr 2012 10:11:10 +0200 In-Reply-To: <87mx63prwe.fsf@HIDDEN> ("Ludovic =?utf-8?Q?Court=C3=A8s=22'?= =?utf-8?Q?s?= message of "Sun, 22 Apr 2012 20:01:37 +0200") Message-ID: <87lillwnvl.fsf@HIDDEN> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.4 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Pobox-Relay-ID: 0F995D6C-8DE5-11E1-8C36-8BEB728A0A4D-02397024!a-pb-sasl-sd.pobox.com X-Spam-Score: -1.9 (-) X-Debbugs-Envelope-To: 11198 Cc: Mark H Weaver <mhw@HIDDEN>, 11198 <at> debbugs.gnu.org, Klaus Stehle <klaus.stehle@HIDDEN> X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <http://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <http://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <http://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Sender: debbugs-submit-bounces <at> debbugs.gnu.org Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org X-Spam-Score: -1.9 (-) On Sun 22 Apr 2012 20:01, ludo@HIDDEN (Ludovic Court=C3=A8s) writes: > I think the reader should only return valid Scheme objects that have a > read syntax (info "(r5rs) Lexical Structure"), and records are not among > them. I agree, FWIW. > We could imagine changing the compiler to be able to serialize records > in the future, but I think that=E2=80=99s a longer-term approach, and not > directly relevant to this report. Agreed, and this is a tricky area AFAIU -- see Racket's documentation on prefab structures: http://docs.racket-lang.org/reference/structures.html?q=3Drecord&q=3Dstru= cts&q=3Drecords#(tech._prefab) Regards, Andy --=20 http://wingolog.org/
bug-guile@HIDDEN
:bug#11198
; Package guile
.
Full text available.Received: (at 11198) by debbugs.gnu.org; 22 Apr 2012 18:02:21 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Sun Apr 22 14:02:21 2012 Received: from localhost ([127.0.0.1]:47138 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1SM176-0006pZ-Vd for submit <at> debbugs.gnu.org; Sun, 22 Apr 2012 14:02:21 -0400 Received: from xanadu.aquilenet.fr ([88.191.123.111]:53760) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from <ludo@HIDDEN>) id 1SM174-0006pQ-8F for 11198 <at> debbugs.gnu.org; Sun, 22 Apr 2012 14:02:19 -0400 Received: from localhost (xanadu.aquilenet.fr [127.0.0.1]) by xanadu.aquilenet.fr (Postfix) with ESMTP id 8BB4B12976; Sun, 22 Apr 2012 20:01:38 +0200 (CEST) Received: from xanadu.aquilenet.fr ([127.0.0.1]) by localhost (xanadu.aquilenet.fr [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id wC2dfPDA0CPe; Sun, 22 Apr 2012 20:01:38 +0200 (CEST) Received: from pluto (reverse-83.fdn.fr [80.67.176.83]) by xanadu.aquilenet.fr (Postfix) with ESMTPSA id AE91287C7; Sun, 22 Apr 2012 20:01:37 +0200 (CEST) From: ludo@HIDDEN (Ludovic =?iso-8859-1?Q?Court=E8s?=) To: Mark H Weaver <mhw@HIDDEN> Subject: Re: bug#11198: problems reading data with a "read-hash-extend" registered reader References: <Pine.LNX.4.61.1204072212190.6107@HIDDEN> <87zkaka9xl.fsf@HIDDEN> <87d37e83n7.fsf@HIDDEN> <Pine.LNX.4.61.1204112213340.10963@HIDDEN> <87hawb3ms1.fsf@HIDDEN> Date: Sun, 22 Apr 2012 20:01:37 +0200 In-Reply-To: <87hawb3ms1.fsf@HIDDEN> (Mark H. Weaver's message of "Sun, 22 Apr 2012 09:43:10 -0400") Message-ID: <87mx63prwe.fsf@HIDDEN> User-Agent: Gnus/5.110018 (No Gnus v0.18) Emacs/24.0.93 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -1.2 (-) X-Debbugs-Envelope-To: 11198 Cc: Andy Wingo <wingo@HIDDEN>, 11198 <at> debbugs.gnu.org, Klaus Stehle <klaus.stehle@HIDDEN> X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <http://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <http://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <http://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Sender: debbugs-submit-bounces <at> debbugs.gnu.org Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org X-Spam-Score: -1.2 (-) Hello! I think the reader should only return valid Scheme objects that have a read syntax (info "(r5rs) Lexical Structure"), and records are not among them. So a short-term solution would be to change =E2=80=98read-R=E2=80=99 to ret= urn the expressions that builds the record, instead of the record itself=E2=80=93ju= st like macros return syntax objects, not arbitrary Scheme objects. (define (read-R chr port) (let ((rlst (read port))) (if (not (pair? rlst)) #f (let* ((name (car rlst)) (lst (cdr rlst)) (rtd (primitive-eval name)) (fields (record-type-fields rtd))) `(apply (record-constructor name) ,@(map (lambda (f) ...) fields)))))) We could imagine changing the compiler to be able to serialize records in the future, but I think that=E2=80=99s a longer-term approach, and not directly relevant to this report. WDYT? Ludo=E2=80=99.
bug-guile@HIDDEN
:bug#11198
; Package guile
.
Full text available.Received: (at 11198) by debbugs.gnu.org; 22 Apr 2012 13:44:28 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Sun Apr 22 09:44:27 2012 Received: from localhost ([127.0.0.1]:46589 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1SLx5V-000111-Fj for submit <at> debbugs.gnu.org; Sun, 22 Apr 2012 09:44:27 -0400 Received: from world.peace.net ([96.39.62.75]:51961 ident=hope5) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from <mhw@HIDDEN>) id 1SLx5O-00010n-Va for 11198 <at> debbugs.gnu.org; Sun, 22 Apr 2012 09:44:22 -0400 Received: from 209-6-91-212.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com ([209.6.91.212] helo=yeeloong) by world.peace.net with esmtpsa (TLS1.0:DHE_RSA_AES_128_CBC_SHA1:16) (Exim 4.72) (envelope-from <mhw@HIDDEN>) id 1SLx4g-0005zA-Tz; Sun, 22 Apr 2012 09:43:35 -0400 From: Mark H Weaver <mhw@HIDDEN> To: Klaus Stehle <klaus.stehle@HIDDEN> Subject: Re: bug#11198: problems reading data with a "read-hash-extend" registered reader References: <Pine.LNX.4.61.1204072212190.6107@HIDDEN> <87zkaka9xl.fsf@HIDDEN> <87d37e83n7.fsf@HIDDEN> <Pine.LNX.4.61.1204112213340.10963@HIDDEN> Date: Sun, 22 Apr 2012 09:43:10 -0400 In-Reply-To: <Pine.LNX.4.61.1204112213340.10963@HIDDEN> (Klaus Stehle's message of "Wed, 11 Apr 2012 22:34:07 +0200 (CEST)") Message-ID: <87hawb3ms1.fsf@HIDDEN> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.0.92 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -1.9 (-) X-Debbugs-Envelope-To: 11198 Cc: Andy Wingo <wingo@HIDDEN>, Ludovic =?utf-8?Q?Court=C3=A8s?= <ludo@HIDDEN>, 11198 <at> debbugs.gnu.org X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <http://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <http://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <http://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Sender: debbugs-submit-bounces <at> debbugs.gnu.org Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org X-Spam-Score: -1.9 (-) Klaus Stehle <klaus.stehle@HIDDEN> writes: > On Wed, 11 Apr 2012, Mark H Weaver wrote: >> ludo@HIDDEN (Ludovic Court=C3=A8s) writes: >> > Klaus Stehle <klaus.stehle@HIDDEN> skribis: >> > >> >> (read-hash-extend #\R read-R) >> > >> > Unlike previous versions, Guile 2.0 has distinct compilation and >> > run-time phases. Here you probably want the reader extension to become >> > effective at compile-time (when compiling), and at evaluation-time (wh= en >> > interpreting the code): >> > >> > (eval-when (compile eval) >> > (read-hash-extend #\R read-R)) >>=20 >> I don't think this will be sufficient by itself, because 'read-R' will >> not yet be bound at compile time. You also need to define 'read-R' >> within the 'eval-when', and everything else that's needed to run >> 'read-R'. > > You are right. But now the record type is unknown at compile time. > So I also wrap the define-record-type expression into an 'eval-when'. > > Then we arrive at the same error message which is displayed when > typing the #R-expression interactively: > > =3D> ERROR: build-constant-store: unrecognized object > =3D> #<my-record one: "bla" two: "bobo"> > > This error message is not very informative. And in spite of an error the > record is built! You can see it in the error message but you can't use it. I see now that this is a limitation of our compiler. It serializes all literals, and does not know how to serialize records. The relevant procedure 'build-constant-store' is in (language glil compile-assembly). It is not obvious how to fix this. The tricky part is how to serialize the identity of the struct-vtable. The best approach that comes to mind is to serialize the identifier (syntax-object) of the module variable that holds the record type descriptor. These identifiers are already being serialized within the compiled macros. However, this approach can only work for records defined at top-level. What do you think? Mark
bug-guile@HIDDEN
:bug#11198
; Package guile
.
Full text available.Received: (at 11198) by debbugs.gnu.org; 11 Apr 2012 20:35:26 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Wed Apr 11 16:35:26 2012 Received: from localhost ([127.0.0.1]:52811 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1SI4GD-0000Nk-Gf for submit <at> debbugs.gnu.org; Wed, 11 Apr 2012 16:35:26 -0400 Received: from mx09.uni-tuebingen.de ([134.2.3.2]:60138) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from <klaus.stehle@HIDDEN>) id 1SI4G9-0000NY-NN for 11198 <at> debbugs.gnu.org; Wed, 11 Apr 2012 16:35:23 -0400 Received: from commlink.zdv.uni-tuebingen.de (commlink.zdv.uni-tuebingen.de [134.2.2.101]) by mx09.uni-tuebingen.de (8.13.6/8.13.6) with ESMTP id q3BKY8DC016807 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Wed, 11 Apr 2012 22:34:09 +0200 Date: Wed, 11 Apr 2012 22:34:07 +0200 (CEST) From: Klaus Stehle <klaus.stehle@HIDDEN> X-X-Sender: knaks01@HIDDEN To: Mark H Weaver <mhw@HIDDEN> Subject: Re: bug#11198: problems reading data with a "read-hash-extend" registered reader In-Reply-To: <87d37e83n7.fsf@HIDDEN> Message-ID: <Pine.LNX.4.61.1204112213340.10963@HIDDEN> References: <Pine.LNX.4.61.1204072212190.6107@HIDDEN> <87zkaka9xl.fsf@HIDDEN> <87d37e83n7.fsf@HIDDEN> MIME-Version: 1.0 Content-Type: MULTIPART/MIXED; BOUNDARY="42362114-1301704028-1334176447=:10963" X-AntiVirus-Spam-Check: clean (checked by Avira MailGate: version: 3.2.1.23; spam filter version: 3.2.0/2.3; host: mx09) X-AntiVirus: checked by Avira MailGate (version: 3.2.1.23; AVE: 8.2.5.34; VDF: 7.11.10.215; host: mx09); id=10343-j43vSV X-Spam-Score: -1.9 (-) X-Debbugs-Envelope-To: 11198 Cc: Ludovic =?utf-8?Q?Court=C3=A8s?= <ludo@HIDDEN>, 11198 <at> debbugs.gnu.org, Klaus Stehle <klaus.stehle@HIDDEN> X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <http://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <http://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <http://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Sender: debbugs-submit-bounces <at> debbugs.gnu.org Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org X-Spam-Score: -1.9 (-) This message is in MIME format. The first part should be readable text, while the remaining parts are likely unreadable without MIME-aware tools. --42362114-1301704028-1334176447=:10963 Content-Type: TEXT/PLAIN; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-MIME-Autoconverted: from 8bit to quoted-printable by mx09.uni-tuebingen.de id q3BKY8DC016807 Hallo Mark, On Wed, 11 Apr 2012, Mark H Weaver wrote: > Date: Wed, 11 Apr 2012 15:33:32 -0400 > From: Mark H Weaver <mhw@HIDDEN> > To: Ludovic Court=C3=A8s <ludo@HIDDEN> > Cc: Klaus Stehle <klaus.stehle@HIDDEN>, 11198 <at> debbugs.gnu.org > Subject: Re: bug#11198: problems reading data with a "read-hash-extend" > registered reader >=20 > ludo@HIDDEN (Ludovic Court=C3=A8s) writes: > > Klaus Stehle <klaus.stehle@HIDDEN> skribis: > > > >> (read-hash-extend #\R read-R) > > > > Unlike previous versions, Guile 2.0 has distinct compilation and > > run-time phases. Here you probably want the reader extension to beco= me > > effective at compile-time (when compiling), and at evaluation-time (w= hen > > interpreting the code): > > > > (eval-when (compile eval) > > (read-hash-extend #\R read-R)) >=20 > I don't think this will be sufficient by itself, because 'read-R' will > not yet be bound at compile time. You also need to define 'read-R' > within the 'eval-when', and everything else that's needed to run > 'read-R'. You are right. But now the record type is unknown at compile time. So I also wrap the define-record-type expression into an 'eval-when'. Then we arrive at the same error message which is displayed when typing the #R-expression interactively: =3D> ERROR: build-constant-store: unrecognized object =3D> #<my-record one: "bla" two: "bobo"> This error message is not very informative. And in spite of an error the record is built! You can see it in the error message but you can't use it. > Alternatively, you could refrain from using the #\R syntax within the > same file where it is defined. Not yet tested ... (soon ...) Thanks, Klaus --42362114-1301704028-1334176447=:10963--
bug-guile@HIDDEN
:bug#11198
; Package guile
.
Full text available.Received: (at 11198) by debbugs.gnu.org; 11 Apr 2012 19:37:53 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Wed Apr 11 15:37:53 2012 Received: from localhost ([127.0.0.1]:52651 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1SI3MX-0007PG-4X for submit <at> debbugs.gnu.org; Wed, 11 Apr 2012 15:37:53 -0400 Received: from world.peace.net ([96.39.62.75]:38514) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from <mhw@HIDDEN>) id 1SI3MV-0007P8-70 for 11198 <at> debbugs.gnu.org; Wed, 11 Apr 2012 15:37:51 -0400 Received: from 209-6-91-212.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com ([209.6.91.212] helo=yeeloong) by world.peace.net with esmtpsa (TLS1.0:DHE_RSA_AES_128_CBC_SHA1:16) (Exim 4.72) (envelope-from <mhw@HIDDEN>) id 1SI3LH-0002Qu-Ji; Wed, 11 Apr 2012 15:36:36 -0400 From: Mark H Weaver <mhw@HIDDEN> To: ludo@HIDDEN (Ludovic =?utf-8?Q?Court=C3=A8s?=) Subject: Re: bug#11198: problems reading data with a "read-hash-extend" registered reader References: <Pine.LNX.4.61.1204072212190.6107@HIDDEN> <87zkaka9xl.fsf@HIDDEN> Date: Wed, 11 Apr 2012 15:33:32 -0400 In-Reply-To: <87zkaka9xl.fsf@HIDDEN> ("Ludovic \=\?utf-8\?Q\?Court\=C3\=A8s\=22'\?\= \=\?utf-8\?Q\?s\?\= message of "Mon, 09 Apr 2012 23:10:14 +0200") Message-ID: <87d37e83n7.fsf@HIDDEN> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.0.92 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: 0.8 (/) X-Debbugs-Envelope-To: 11198 Cc: 11198 <at> debbugs.gnu.org, Klaus Stehle <klaus.stehle@HIDDEN> X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <http://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <http://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <http://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Sender: debbugs-submit-bounces <at> debbugs.gnu.org Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org X-Spam-Score: 0.8 (/) ludo@HIDDEN (Ludovic Court=C3=A8s) writes: > Klaus Stehle <klaus.stehle@HIDDEN> skribis: > >> (read-hash-extend #\R read-R) > > Unlike previous versions, Guile 2.0 has distinct compilation and > run-time phases. Here you probably want the reader extension to become > effective at compile-time (when compiling), and at evaluation-time (when > interpreting the code): > > (eval-when (compile eval) > (read-hash-extend #\R read-R)) I don't think this will be sufficient by itself, because 'read-R' will not yet be bound at compile time. You also need to define 'read-R' within the 'eval-when', and everything else that's needed to run 'read-R'. Alternatively, you could refrain from using the #\R syntax within the same file where it is defined. Mark
bug-guile@HIDDEN
:bug#11198
; Package guile
.
Full text available.Received: (at 11198) by debbugs.gnu.org; 11 Apr 2012 19:09:03 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Wed Apr 11 15:09:03 2012 Received: from localhost ([127.0.0.1]:52621 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1SI2ub-0006jG-MK for submit <at> debbugs.gnu.org; Wed, 11 Apr 2012 15:09:03 -0400 Received: from mx09.uni-tuebingen.de ([134.2.3.2]:48799) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from <klaus.stehle@HIDDEN>) id 1SI2uY-0006j0-JB for 11198 <at> debbugs.gnu.org; Wed, 11 Apr 2012 15:09:00 -0400 Received: from commlink.zdv.uni-tuebingen.de (commlink.zdv.uni-tuebingen.de [134.2.2.101]) by mx09.uni-tuebingen.de (8.13.6/8.13.6) with ESMTP id q3BJ7ixO008980 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Wed, 11 Apr 2012 21:07:46 +0200 Date: Wed, 11 Apr 2012 21:07:43 +0200 (CEST) From: Klaus Stehle <klaus.stehle@HIDDEN> X-X-Sender: knaks01@HIDDEN To: Ludovic =?iso-8859-1?Q?Court=E8s?= <ludo@HIDDEN> Subject: Re: bug#11198: problems reading data with a "read-hash-extend" registered reader In-Reply-To: <87zkaka9xl.fsf@HIDDEN> Message-ID: <Pine.LNX.4.61.1204112043460.5742@HIDDEN> References: <Pine.LNX.4.61.1204072212190.6107@HIDDEN> <87zkaka9xl.fsf@HIDDEN> MIME-Version: 1.0 Content-Type: MULTIPART/MIXED; BOUNDARY="42362114-299331587-1334171263=:5742" X-AntiVirus-Spam-Check: clean (checked by Avira MailGate: version: 3.2.1.23; spam filter version: 3.2.0/2.3; host: mx09) X-AntiVirus: checked by Avira MailGate (version: 3.2.1.23; AVE: 8.2.5.34; VDF: 7.11.10.215; host: mx09); id=10343-1xNyuE X-Spam-Score: -1.9 (-) X-Debbugs-Envelope-To: 11198 Cc: 11198 <at> debbugs.gnu.org, Klaus Stehle <klaus.stehle@HIDDEN> X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <http://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <http://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <http://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Sender: debbugs-submit-bounces <at> debbugs.gnu.org Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org X-Spam-Score: -1.9 (-) This message is in MIME format. The first part should be readable text, while the remaining parts are likely unreadable without MIME-aware tools. --42362114-299331587-1334171263=:5742 Content-Type: TEXT/PLAIN; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-MIME-Autoconverted: from 8bit to quoted-printable by mx09.uni-tuebingen.de id q3BJ7ixO008980 On Mon, 9 Apr 2012, Ludovic Court=C3=A8s wrote: > Date: Mon, 09 Apr 2012 23:10:14 +0200 > From: Ludovic Court=C3=A8s <ludo@HIDDEN> > To: Klaus Stehle <klaus.stehle@HIDDEN> > Cc: 11198 <at> debbugs.gnu.org > Subject: Re: bug#11198: problems reading data with a "read-hash-extend" > registered reader >=20 > Hi Klaus, >=20 > Klaus Stehle <klaus.stehle@HIDDEN> skribis: >=20 > > (read-hash-extend #\R read-R) >=20 > Unlike previous versions, Guile 2.0 has distinct compilation and > run-time phases. Here you probably want the reader extension to become > effective at compile-time (when compiling), and at evaluation-time (whe= n > interpreting the code): >=20 > (eval-when (compile eval) > (read-hash-extend #\R read-R)) >=20 > There=E2=80=99s an example of this in the manual, in the context of > =E2=80=98current-reader=E2=80=99 (info "(guile) Loading"). >=20 > Does it work for you? >=20 > Thanks, > Ludo=E2=80=99. >=20 Hallo Ludo=E2=80=99, No it doesn't work. The same behavour: the script runs with a compiler=20 error message but nevertheless the record is created and displayed correctly. The only way to run the script without error message is to run it with the --no-auto-compile option. Thanks, Klaus --42362114-299331587-1334171263=:5742--
bug-guile@HIDDEN
:bug#11198
; Package guile
.
Full text available.Received: (at 11198) by debbugs.gnu.org; 9 Apr 2012 21:11:19 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Mon Apr 09 17:11:19 2012 Received: from localhost ([127.0.0.1]:47400 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1SHLrq-0002vb-UR for submit <at> debbugs.gnu.org; Mon, 09 Apr 2012 17:11:19 -0400 Received: from xanadu.aquilenet.fr ([88.191.123.111]:38622) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from <ludo@HIDDEN>) id 1SHLro-0002vS-9W for 11198 <at> debbugs.gnu.org; Mon, 09 Apr 2012 17:11:17 -0400 Received: from localhost (xanadu.aquilenet.fr [127.0.0.1]) by xanadu.aquilenet.fr (Postfix) with ESMTP id 4AECC6DA9; Mon, 9 Apr 2012 23:10:16 +0200 (CEST) Received: from xanadu.aquilenet.fr ([127.0.0.1]) by localhost (xanadu.aquilenet.fr [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 12YbgbTg4NQ3; Mon, 9 Apr 2012 23:10:16 +0200 (CEST) Received: from pluto (reverse-83.fdn.fr [80.67.176.83]) by xanadu.aquilenet.fr (Postfix) with ESMTPSA id 9F03711F5; Mon, 9 Apr 2012 23:10:15 +0200 (CEST) From: ludo@HIDDEN (Ludovic =?iso-8859-1?Q?Court=E8s?=) To: Klaus Stehle <klaus.stehle@HIDDEN> Subject: Re: bug#11198: problems reading data with a "read-hash-extend" registered reader References: <Pine.LNX.4.61.1204072212190.6107@HIDDEN> Date: Mon, 09 Apr 2012 23:10:14 +0200 In-Reply-To: <Pine.LNX.4.61.1204072212190.6107@HIDDEN> (Klaus Stehle's message of "Sat, 7 Apr 2012 22:16:06 +0200 (CEST)") Message-ID: <87zkaka9xl.fsf@HIDDEN> User-Agent: Gnus/5.110018 (No Gnus v0.18) Emacs/24.0.93 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -1.2 (-) X-Debbugs-Envelope-To: 11198 Cc: 11198 <at> debbugs.gnu.org X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <http://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <http://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <http://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Sender: debbugs-submit-bounces <at> debbugs.gnu.org Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org X-Spam-Score: -1.2 (-) Hi Klaus, Klaus Stehle <klaus.stehle@HIDDEN> skribis: > (read-hash-extend #\R read-R) Unlike previous versions, Guile 2.0 has distinct compilation and run-time phases. Here you probably want the reader extension to become effective at compile-time (when compiling), and at evaluation-time (when interpreting the code): (eval-when (compile eval) (read-hash-extend #\R read-R)) There=E2=80=99s an example of this in the manual, in the context of =E2=80=98current-reader=E2=80=99 (info "(guile) Loading"). Does it work for you? Thanks, Ludo=E2=80=99.
bug-guile@HIDDEN
:bug#11198
; Package guile
.
Full text available.Received: (at submit) by debbugs.gnu.org; 7 Apr 2012 20:17:04 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Sat Apr 07 16:17:04 2012 Received: from localhost ([127.0.0.1]:44191 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1SGc4G-0003mu-8W for submit <at> debbugs.gnu.org; Sat, 07 Apr 2012 16:17:04 -0400 Received: from eggs.gnu.org ([208.118.235.92]:42546) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from <klaus.stehle@HIDDEN>) id 1SGc4E-0003mn-TD for submit <at> debbugs.gnu.org; Sat, 07 Apr 2012 16:17:03 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from <klaus.stehle@HIDDEN>) id 1SGc3T-0003S0-46 for submit <at> debbugs.gnu.org; Sat, 07 Apr 2012 16:16:16 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-6.9 required=5.0 tests=BAYES_00,RCVD_IN_DNSWL_HI autolearn=unavailable version=3.3.2 Received: from lists.gnu.org ([208.118.235.17]:40016) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from <klaus.stehle@HIDDEN>) id 1SGc3T-0003Rv-0W for submit <at> debbugs.gnu.org; Sat, 07 Apr 2012 16:16:15 -0400 Received: from eggs.gnu.org ([208.118.235.92]:51742) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from <klaus.stehle@HIDDEN>) id 1SGc3Q-0004vi-62 for bug-guile@HIDDEN; Sat, 07 Apr 2012 16:16:14 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from <klaus.stehle@HIDDEN>) id 1SGc3O-0003RT-0B for bug-guile@HIDDEN; Sat, 07 Apr 2012 16:16:11 -0400 Received: from mx09.uni-tuebingen.de ([134.2.3.2]:51970) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from <klaus.stehle@HIDDEN>) id 1SGc3N-0003RM-Mg for bug-guile@HIDDEN; Sat, 07 Apr 2012 16:16:09 -0400 Received: from commlink.zdv.uni-tuebingen.de (commlink.zdv.uni-tuebingen.de [134.2.2.101]) by mx09.uni-tuebingen.de (8.13.6/8.13.6) with ESMTP id q37KG7Mb017160 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO) for <bug-guile@HIDDEN>; Sat, 7 Apr 2012 22:16:07 +0200 Date: Sat, 7 Apr 2012 22:16:06 +0200 (CEST) From: Klaus Stehle <klaus.stehle@HIDDEN> X-X-Sender: knaks01@HIDDEN To: bug-guile@HIDDEN Subject: problems reading data with a "read-hash-extend" registered reader Message-ID: <Pine.LNX.4.61.1204072212190.6107@HIDDEN> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII X-AntiVirus-Spam-Check: clean (checked by Avira MailGate: version: 3.2.1.23; spam filter version: 3.2.0/2.3; host: mx09) X-AntiVirus: checked by Avira MailGate (version: 3.2.1.23; AVE: 8.2.5.34; VDF: 7.11.10.215; host: mx09); id=15713-kALSra X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6, seldom 2.4 (older, 4) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 3) X-Received-From: 208.118.235.17 X-Spam-Score: -6.9 (------) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <http://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <http://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <http://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Sender: debbugs-submit-bounces <at> debbugs.gnu.org Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org X-Spam-Score: -6.9 (------) Hi, ;;;; an example script to describe the problem ;;;; writing and reading records: (use-modules (srfi srfi-9)) ;; define a record as example (define-record-type my-record (make-my-record one two) my-record? (one my-one) (two my-two)) ;; fix another guile-2.0 bug (if (string>= (version) "2") (struct-set! my-record (+ 2 vtable-offset-user) make-my-record)) ;; the record write function (define (record-printer s p) (let* ((rtd (record-type-descriptor s)) (lst (apply append (map (lambda (f) (list (symbol->keyword f) ((record-accessor rtd f) s))) (record-type-fields rtd))))) (format p "#R~S" (cons (record-type-name rtd) lst)))) (struct-set! my-record vtable-index-printer record-printer) ;; the record read function (define (read-R chr port) (let ((rlst (read port))) (if (not (pair? rlst)) #f (let* ((name (car rlst)) (lst (cdr rlst)) (rtd (primitive-eval name)) (fields (record-type-fields rtd))) (apply (record-constructor rtd) (map (lambda (f) (let ((kl (memq (symbol->keyword f) lst))) (if (and kl (pair? (cdr kl))) (cadr kl) #f))) fields)))))) (read-hash-extend #\R read-R) ;; test-1: writing and reading records is working well ... (define rec (make-my-record "bla" "bobo")) (let ((opo (open-output-file "rec.data"))) (write rec opo) (close-output-port opo)) (let ((ipo (open-input-file "rec.data"))) (let ((data (read ipo))) (format #t "--> ~S~%" rec) (close-input-port ipo))) ;; test-2: ... but this doesn't work properly (define rec #R(my-record #:two "bobo" #:one "bla")) (format #t "==> ~S~%" rec) ;; end of script The behavour of test-2 is very strange. If the script is running from a file, there is a compiler error message, but the record is built and displayed. If we start the script with the -l option and enter the line afterwards manually into the REPL ... (define rec #R(my-record #:two "bobo" #:one "bla")) ... there is another cryptic error message: => While compiling expression: => ERROR: build-constant-store: unrecognized object #R(my-record #:one "bla" #:two "bobo") We can see our record built correctly in the error message! But the record remains unreachable. Using guile-1.8 all these things are running perfectly! Cheers, Klaus Stehle ---------------------------- guile --version guile (GNU Guile) 2.0.5 uname -srm Linux 2.6.32-5-amd64 x86_64
Klaus Stehle <klaus.stehle@HIDDEN>
:bug-guile@HIDDEN
.
Full text available.bug-guile@HIDDEN
:bug#11198
; Package guile
.
Full text available.
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997 nCipher Corporation Ltd,
1994-97 Ian Jackson.