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 #515

cc


    

changetime

2013-07-07 03:20:44

component

WG1 - Core

description

Aaron Hsu writes:

  I am very leery of the `cond-expand` form, and I believe that it also fails to scale well. We have done little to fix the issues in using and making `cond-expand` useful. We have also ignored fundamentally more flexible and useful forms. 

id

515

keywords


    

milestone


    

owner

alexshinn

priority

major

reporter

cowan

resolution

wontfix

severity


    

status

closed

summary

Cond-expand doesn't scale and is hard to use

time

2013-05-13 08:39:23

type

defect

Changes

Change at time 2013-07-07 03:20:44

author

cowan

field

comment

newvalue

The WG decided by unanimous consent to take no action on this ticket.

oldvalue

4

raw-time

1373142044410382

ticket

515

time

2013-07-07 03:20:44

Change at time 2013-07-07 03:20:44

author

cowan

field

resolution

newvalue

wontfix

oldvalue


    

raw-time

1373142044410382

ticket

515

time

2013-07-07 03:20:44

Change at time 2013-07-07 03:20:44

author

cowan

field

status

newvalue

closed

oldvalue

new

raw-time

1373142044410382

ticket

515

time

2013-07-07 03:20:44

Change at time 2013-05-21 01:28:08

author

cowan

field

comment

newvalue

Ah, thanks.  Providing a run-time procedure that affects compile-time behavior is to create a phasing problem similar to those we have banished by excluding low-level macros and readtables that affect code.  I'd hate to see phasing raise its ugly head in the small language.

oldvalue

3

raw-time

1369074488813485

ticket

515

time

2013-05-21 01:28:08

Change at time 2013-05-13 11:03:00

author

arcfide

field

comment

newvalue

I say that `cond-expand` fails to scale well because it fails to provide a simple, program accessible method for extending and defining the set of constants that it recognizes. 

oldvalue

2

raw-time

1368417780766873

ticket

515

time

2013-05-13 11:03:00

Change at time 2013-05-13 08:41:14

author

cowan

field

comment

newvalue

I don't know how to interpret the first two sentences.  I assume the third sentence refers to the `meta-cond` proposal (essentially a `cond` using syntax-time variables and values), but the problem with that is that it depends heavily on what names are taken to be in scope at compile time, which is highly implementation-dependent.  Because `cond-expand` recognizes only constants fixed by the implementation (plus which libraries are available for import, also basically fixed), it has no such phasing difficulties.

oldvalue

1

raw-time

1368409274917148

ticket

515

time

2013-05-13 08:41:14