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.
Source for ticket #106
cc
changetime
2011-01-24 06:54:00
component
WG1 - Core
description
As discussed in
https://groups.google.com/group/scheme-reports-wg1/browse_thread/thread/99c05dcb6a500183
users invariably want some way to conditionally
select code depending on the implementation and/or
feature set available. SRFI-0 provides `cond-expand`,
R6RS implementations informally provide a library
naming hack, and numerous other personal hacks exist.
Do we want to include something along these lines
in WG1 Scheme?
id
106
keywords
milestone
owner
alexshinn
priority
major
reporter
alexshinn
resolution
fixed
severity
status
closed
summary
conditional code selection
time
2010-11-30 13:04:16
type
defect
Changes
Change at time 2011-01-24 06:54:00
author
cowan
field
comment
newvalue
WG1 decided to go with CondExpandCowan.
oldvalue
3
raw-time
1295823240000000
ticket
106
time
2011-01-24 06:54:00
Change at time 2011-01-24 06:54:00
author
cowan
field
resolution
newvalue
fixed
oldvalue
raw-time
1295823240000000
ticket
106
time
2011-01-24 06:54:00
Change at time 2011-01-24 06:54:00
author
cowan
field
status
newvalue
closed
oldvalue
new
raw-time
1295823240000000
ticket
106
time
2011-01-24 06:54:00
Change at time 2010-12-17 15:51:09
author
arcfide
field
comment
newvalue
I want to mention [http://www.scheme.com/csug8/syntax.html#./syntax:h9 meta-cond] which I think is a particularly nice and general solution. I think we could make it work.
oldvalue
2
raw-time
1292572269000000
ticket
106
time
2010-12-17 15:51:09
Change at time 2010-11-30 16:04:44
author
medernac
field
comment
newvalue
Definitely yes, we need a standard way to inspect the availability
of optional features and select code accordingly. There already are many existing proposals, this is either a module feature or a meta-language feature:
* SRFI-0 defines a registry of "feature identifiers" and a 'cond-expand' form.
* SRFI-55 has 'require-extension'
* SLIB has 'require / provided? / provide' forms
* Modules systems have their import mechanism
* There are also configuration languages such as Scheme48, Racket, etc.
oldvalue
1
raw-time
1291104284000000
ticket
106
time
2010-11-30 16:04:44