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

cc


    

changetime

2012-10-07 04:01:37

component

WG1 - Core

description

`make-eof-object` returns an object which answers `#t` to `eof-object?`.

From Vincent Manis:

This isn't just an attempt to create a vain orthogonality; there are good reasons why arbitrary code might wish to return an eof object. For example, a DBMS interface might have a routine that returns one row, as a list or a vector, at a time; after the last, it is perfectly reasonable to  return an eof object.

An argument against providing this is that the constructor may be trivially written, as shown [below]. A similar argument could be applied to `zero?`, `newline`, `quotient`, `remainder`, and `modulo`, among others. R7RS is not afraid to provide easy-to-implement procedures in the name of simplicity, orthogonality, or historical compatibility. I think the lack of an eof constructor is worth remedying.

{{{
(let* ((p (open-input-string ""))
       (x (read p)))
  (close-port p)
  x)
}}}

id

337

keywords


    

milestone


    

owner

cowan

priority

major

reporter

cowan

resolution

fixed

severity


    

status

closed

summary

Add make-eof-object procedure

time

2012-01-22 02:15:42

type

defect

Changes

Change at time 2012-10-07 04:01:37

author

cowan

field

comment

newvalue


    

oldvalue

4

raw-time

1349557297801809

ticket

337

time

2012-10-07 04:01:37

Change at time 2012-10-07 04:01:37

author

cowan

field

resolution

newvalue

fixed

oldvalue


    

raw-time

1349557297801809

ticket

337

time

2012-10-07 04:01:37

Change at time 2012-10-07 04:01:37

author

cowan

field

status

newvalue

closed

oldvalue

writing

raw-time

1349557297801809

ticket

337

time

2012-10-07 04:01:37

Change at time 2012-04-07 04:39:51

author

cowan

field

comment

newvalue


    

oldvalue

3

raw-time

1333748391775774

ticket

337

time

2012-04-07 04:39:51

Change at time 2012-04-07 04:39:51

author

cowan

field

owner

newvalue

cowan

oldvalue

alexshinn

raw-time

1333748391775774

ticket

337

time

2012-04-07 04:39:51

Change at time 2012-04-07 04:39:51

author

cowan

field

status

newvalue

writing

oldvalue

decided

raw-time

1333748391775774

ticket

337

time

2012-04-07 04:39:51

Change at time 2012-04-05 09:05:59

author

cowan

field

comment

newvalue

The WG voted to adopt this proposal using the name `eof-object`.

oldvalue

2

raw-time

1333591559787401

ticket

337

time

2012-04-05 09:05:59

Change at time 2012-04-05 09:05:59

author

cowan

field

status

newvalue

decided

oldvalue

new

raw-time

1333591559787401

ticket

337

time

2012-04-05 09:05:59

Change at time 2012-01-22 03:56:22

author

aag

field

comment

newvalue

<xacc.ide@gmail.com> points out that R6RS calls this procedure eof-object, not make-eof-object, and suggests that we use that name.

oldvalue

1

raw-time

1327175782857656

ticket

337

time

2012-01-22 03:56:22