This fails with code pulled straight out of the Guile manual example (section 
6.6.20.6).

(define capitals '(("New York" . "Albany")
                   ("Oregon"   . "Salem")
                   ("Florida"  . "Miami")))

Okay, that works define to define alist capitals. Now let's try another part of 
the example:


(set! capitals

      (assoc-set! capitals "Florida" "Tallahassee"))

This yields the error:

ERROR: In procedure assoc-set!:
In procedure set-cdr!: Wrong type argument in position 1 (expecting mutable 
pair): ("Florida" . "Miami")

I've experienced this behavior with builds of both Guile 2.2.2 and Guile 2.2.4.

I'll note that if you define the alist so its initial contents are defined 
using a quasiquote and the cons form instead of dot notation, this error is not 
reached. I'm not sure if the error is valid or not, but in any case, the code 
that produces is listed as an valid example in the manual, so that doesn't seem 
right.

chris

Reply via email to