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