Hi, Judy Hawkins <[email protected]> writes:
> (define r:type (make-record-type "good-rec" '(laugh sleep))) [...] > guile> (load "rb.scm") > Good record? > #t > #<good-rec laugh: giggle sleep: dream> > > guile> (r:g:laugh Keep-r1) > "giggle" > > guile> (load "rb.scm") > Keep-r1 already has the record > Good record? > #f > #<good-rec laugh: giggle sleep: dream> > > guile> (r:g:laugh Keep-r1) > > ERROR: In procedure %record-type-check: > ERROR: Wrong type record (want `"good-rec"'): #<good-rec laugh: giggle > sleep: dream> > ABORT: (wrong-type-arg) > guile> > > what I expected was for (r:g:laugh Keep-r1) to work fine both times. That's because each load yields a `make-record-type', and the record type created the second type has the same name as the one created the first time but it's not `eq?' to it, hence the type mismatch. Thanks, Ludo'.
