This is not quite a bug report but an enhancement
suggestion.

ice-9/syncase.scm provides a procedure
datum->syntax-object that insists that its first
argument be a syntax-object that is an
identifier.  

This is an unnecessary restriction, and removing
this check makes writing low-level macros easier,
because you can give a syntax-object directly as
datum->syntax-object's first argument, instead of
destructuring it to get an appropriate identifier.  The
latter is a tedious process that doesn't buy anything,
since the containing syntax-object and the contained
identifier have the same syntax properties as far as
datum->syntax-object is concerned.

To effect this change, you need to modify
ice-9/psyntax.ss as follows:

(set! datum->syntax-object
  (lambda (id datum)
    (arg-check nonsymbol-id? id 'datum->syntax-object)
    (make-syntax-object datum (syntax-object-wrap id))))

becomes

(set! datum->syntax-object
  (lambda (id datum)
    (make-syntax-object datum (syntax-object-wrap id))))

Then regenerate psyntax.pp.

Sincerely,

--Dorai Sitaram

_______________________________________________
Bug-guile mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/bug-guile

Reply via email to