This site is a static rendering of the Trac instance that was used by R7RS-WG1 for its work on R7RS-small (PDF), which was ratified in 2013. For more information, see Home.

Ticket 32: user-defined types

2012-10-05 00:28:20
WG1 - Core
alexshinn
major
alexshinn
fixed
source
closed
2010-02-23 17:06:06
defect

Do we support any means of creating disjoint user-defined types, such as in SRFI-9, SRFI-99 or the R6RS record system?

I support providing the syntactic portion of SRFI 99 only. This is a very new SRFI, but it is completely backward compatible with SRFI 9, which is the most popular of all SRFIs (according to the documentation, only Chez among the major implementations does not support it). The extensions include single inheritance and (optional) implicit naming, along with succinct abbreviations for specifying whether a field is immutable or mutable.

I do not support, I reject, I am altogether against the standardization of R6RS records by WG1. (Or WG2, for that matter.) R6RS argues that compilers can make them more efficient than SRFI-9-style records, but SRFI 99 refutes this position.

milestone

Yes. Disjoint programmer types are a must. Ideally, the whole type model should be seamless from the set membership predicates through to an effective type algebra. It would be nice to reify some form of type tags/descriptors across all types, as well as a limited pattern matching.

resolutionfixed
statusnewclosed

The WG voted to adopt SRFI-9 as part of the core.

resolutionfixed
statusclosedreopened
summaryuser-define typesuser-defined types
descriptionDo we support any means of creating disjoint user-defined types, such as in SRFI-9, SRFI-99 or the R6RS record system? Do we support any means of creating disjoint user-defined types using built-in procedures, such as in SRFI-9, SRFI-57, SRFI-99, or the R6RS record system?
summaryuser-defined typesuser-defined types (syntactic)
descriptionDo we support any means of creating disjoint user-defined types using built-in procedures, such as in SRFI-9, SRFI-57, SRFI-99, or the R6RS record system? Do we support any means of creating disjoint user-defined types using built-in procedures, such as in SRFI-9, SRFI-57, SRFI-99, or the R6RS record system? See #110 for procedural records.
descriptionDo we support any means of creating disjoint user-defined types using built-in procedures, such as in SRFI-9, SRFI-57, SRFI-99, or the R6RS record system? See #110 for procedural records. Do we support any means of creating disjoint user-defined types using syntax forms, such as in SRFI-9, SRFI-57, SRFI-99, or the R6RS record system? See #110 for procedural records.
summaryuser-defined types (syntactic)user-defined types
descriptionDo we support any means of creating disjoint user-defined types using syntax forms, such as in SRFI-9, SRFI-57, SRFI-99, or the R6RS record system? See #110 for procedural records. Do we support any means of creating disjoint user-defined types, such as in SRFI-9, SRFI-99 or the R6RS record system?

reverting procedural/syntactic split

WG1 voted to accept SRFI 9.

resolutionfixed
statusreopenedclosed
resolutionfixed
statusclosedreopened
owneralexshinn
statusreopenedassigned
statusassigneddecided
owneralexshinn
statusdecidedwriting
resolutionfixed
statuswritingclosed