[R6RS] syntax srfi (srfi93) discussion synopsis

dyb at cs.indiana.edu dyb at cs.indiana.edu
Mon Aug 7 15:26:55 EDT 2006

Here is a brief synopsis of the SRFI 93 discussion topics, along with
my recommendations.

  * testsuite needed
    - no argument
    - goes for entire R6RS
    - need agreement on mechanism
    - recommendation: leave for SRFI
  * shorter convenience form, e.g:
        (define-syntax-case name () (pattern expression))
    - disagreement on need and possible syntax
    - recommendation: leave for separate SRFI and/or R7+RS
  * identifier macros
    - some (2) don't like, some (3) do
    - recommendation: keep for R6RS
  * datum->syntax should take a datum
    - may/might/should/must raise exception if not a datum?
    - recommendation: follow requirement for quote (should raise)

  * abstract transformer syntax, e.g.,
       (transformer (<variable>) <body>) => transformer
    - avoid commitment to one-argument transformers
    - recommendation: consider for R6RS
  * quasisyntax/unsyntax/unsyntax-splicing
    - can be written as macro
    - recommendation: consider for R6RS
  * fresh-syntax
    - van Tonder prefers fresh-syntax be the default 
      - pros: reduces possibility of unintended intra-transformer capture
      - cons: complicates some common macros
              problematic interaction with quasisyntax
    - recommendation: consider for R6RS

There were also several requests for clarification and a few reports of
typos, which I have addressed in the latest draft of the SRFI committed
into srfi/syntax.

I've put the last three items on this week's agenda.


More information about the R6RS mailing list