chicken-janitors
[Top][All Lists]
Advanced

[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: Tue, 23 Apr 2019 11:45:55 -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 felix):

 As beeing discussed on IRC there is also a problem with `record-
 variants`/`coops`: here structure tags are taken literally instead of the
 variable holding the module-decorated tag name.

 Attached is a patch that modifies `record-variants` to use the tag
 variable implicitly created for a record instead of treating the record
 name directly as the tag (which will fail with modules). This patch also
 fixes some minor problems. I post this here since a few issues may be
 worth noting:

 * Jim should check whether my modifications of `record-variants` makes
 sense
 * `define-record-variant` will not work for a nonexistent record
 definition

 The latter case appears in `coops`: here we use a record-variant direclty,
 instead of shadowing an existing record definition, this is, strictly
 speaking, a hack. Now, `define-record-variant` access the record-tag
 variable, which will of course no exist, so I've added a dummy record
 definition for `coops-instance`. The other `coops` fixes should
 straightforward.

--
Ticket URL: <https://bugs.call-cc.org/ticket/1581#comment:2>
CHICKEN Scheme <https://www.call-cc.org/>
CHICKEN Scheme is a compiler for the Scheme programming language.

reply via email to

[Prev in Thread] Current Thread [Next in Thread]