Has something changed with transparency of structs?

I find the following:


#lang racket/base


(module a racket/base

(define inspector (make-inspector))

(define-values (descr constr pred acc mut)

  (make-struct-type 's #f 2 0 #f '() inspector #f '(0)))

(define an-s (constr 'monkey 'lion))

(provide an-s))


(module b racket/base

(define inspector (make-inspector))

(struct s (f g) #:inspector inspector)

(define another-s (s 'monkey 'lion))

(provide another-s))


(require 'a 'b)


(define (print-info s)

(printf "s = ~s~n" s)

(printf "struct? ~s~n" (struct? s))

(define-values (descr skipped?) (struct-info s))

(define-values (name n m ref set immut super skip) (struct-type-info descr))

(printf "ref : ~s~n" (ref s 0)))


(print-info an-s)

(print-info another-s)




s = #(struct:s monkey lion)

struct? #t

ref : monkey

s = #(struct:s monkey lion)

struct? #t

ref : monkey


I expected for example (struct? an-s) to yield #f.

What am I confusing?

Thanks, Jos

This email has been scanned by BullGuard antivirus protection.
For more info visit www.bullguard.com

You received this message because you are subscribed to the Google Groups 
"Racket Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to racket-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 

Reply via email to