> 2.2 Bindings > > When macro expansion encounters a binding form, it > > * creates a new scope; > > * adds the scope to every identifier in binding position, as well as to > the region where the bindings apply; and > > * extends a global table that maps a ⟨symbol, scope set⟩ pair to a > representation of a binding.
Here it seems like the "<symbol, scope set> pair" itself would make a fine "representation of a binding". Then the global binding table would just be a global binding set, and the <symbol, scope set> pair itself would key the compile time environment. > Each local binding is represented by a unique, opaque value (e.g., a > gensym).A binding to a module export is represented by the module > name paired with a serializable identifier for the definition within > the module. Are module exports the reason for a global binding table instead of a global binding set? Is it mainly for flexibility/convenience of adding other data to the binding's representation rather than storing such things in aux. tables? Or am I missing something (very likely!)? -- Anthony Carrico -- You received this message because you are subscribed to the Google Groups "Racket Developers" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/racket-dev/55E139AB.3010009%40memebeam.org. For more options, visit https://groups.google.com/d/optout.
signature.asc
Description: OpenPGP digital signature
