Hi, Andy Wingo <wi...@pobox.com> skribis:
> Since the expression reader can generate prefab instances, they are > useful when convenient serialization is more important than > abstraction. Opaque and transparent structures also can be serialized, > however, if they are defined with define-serializable-struct as > described in Datatypes and Serialization. So I’d be in the ‘define-serializable-struct’ camp, so to speak. Prefabs raise an number of interesting issues. For instance, what’s the meaning of #s(sprout bean #f 17) in a module where ‘sprout’ is unbound? In a module where it’s bound to a given RTD vs. in a module where it’s bound to a different RTD? Does ‘read’ have to be current-module-aware? Etc. This example is a bit scary to me: > (define lunch '#s(sprout bean)) > (struct sprout (kind) #:prefab) > (sprout? lunch) #t since it implies that types are compared by name. Thanks, Ludo’.