[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Miscellaneous



First, congratulations on the first R6RS srfi! I have not had the chance to read it carefully yet, but a first skimming turned up the following issues:

- R6RS requires the syntax (library (name) ---), so (library name ---)
  is a syntax error.

- It would be more consistent with the r6rs naming conventions (and
  probably also implementation-dependent schemes for grouping related
  libraries and mapping library to file names) to call the libraries
  (streams primitives) and (streams derived), i.e., use the plural
  of the data type and break it up into more than one identifier.

- The identifier _ may not be used as a literal in syntax-rules in r6rs.
  Therefore, unfortunately you will need to use syntax-case in order to write
  stream-match if you wish to reuse _ as the wildcard.

- The (streams derived) library should re-export the identifier
  _, since one would like to be able to use stream-match without
  always needing to co-import (rnrs).  This is the policy followed by
  (rnrs syntax-case), which re-exports ... and _.  Note that, as
  it is now, even co-importing just (rnrs base) is not sufficient for using
  stream-match, since (rnrs base) exports _ only for expand, not for run.

- R6RS error takes at least two arguments.

- R6RS already has something like ormap (called exists).

- For space-safe promises, some alternative more efficient implementation
  strategies with less boxing can be found in the SRFI-45 post-finalization
  discussion.  See in particular the message "Simpler implementation" and
  follow-ups.

- Small spelling error: it should be "van" Tonder.

Best regards
Andre