[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Chicken-janitors] #1581: record-instance? from (chicken memory repr
From: |
Chicken Trac |
Subject: |
Re: [Chicken-janitors] #1581: record-instance? from (chicken memory representation) fails in modules |
Date: |
Wed, 05 Jun 2019 21:37:12 -0000 |
#1581: record-instance? from (chicken memory representation) fails in modules
---------------------------------------+-------------------
Reporter: kooda | Owner:
Type: defect | Status: new
Priority: minor | Milestone: 5.1
Component: core libraries | Version: 5.0.0
Resolution: | Keywords:
Estimated difficulty: easy |
---------------------------------------+-------------------
Comment (by zbigniew):
I approve of the record-variants patch. I thought this sounded familiar,
and found a patch email from Peter from 2017 July 14 entitled "Fix record
type tags to be nonglobal by module-prefixing them". It notes that record-
variants and coops need to be fixed after the patch (54b0d5adcc855), and
describes this solution exactly. It just appears we never followed up.
"A long time ago, we had a patch that tried to prefix the current module
name onto a record type's tag (727b2b3fea2714).
This was reverted later on because it turned out to be somewhat
incompatible with various things, like the record-variants egg.
[...] I believe record-variants can be fixed if we also fix #1342 by
defining the "type name" which you pass to define-record-type as an
identifier.
[...] I'd add a patch for record-variants, but I see we have no port to
CHICKEN 5 for it yet. In any case, instead of quoting the type name, it
would
simply be used unquoted, as that's the identifier which holds the tag.
I don't know exactly what the problem with coops was, but I presume it
was
either caused by record-variants not working or we can fix it in a
similar
way by using the record identifier instead of the quoted tag."
--
Ticket URL: <https://bugs.call-cc.org/ticket/1581#comment:6>
CHICKEN Scheme <https://www.call-cc.org/>
CHICKEN Scheme is a compiler for the Scheme programming language.