This is the mail archive of the guile@cygnus.com mailing list for the guile project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: matrix'



Radey Shouman <shouman@zianet.com> wrote:
> (define (matrix' m)
>   (if (= 2 (array-rank m))
>       (transpose-array m 1 0)
>       (throw 'not-a-matrix m)))


Testing this, I was startled to discover that Guile accepts a quote in
identifiers. As I read R4RS, (matrix' m) should be equivalent to
(matrix (quote m)), not (#{matrix'}# m) [using Guile's #{}# syntax for
escaped symbols]. Earlier RnRS reports seem to implicitly assume this,
and although R4RS doesn't unambbiguously insist that single quote
binds across whitespace, it does definitely insist that lexically, it
can't be part of a normal identifier.

Do the maintainers have a different interpretation or is this a bug?

 - Maciej Stachowiak