On Saturday, 25 June 2016 08:13:04 UTC+10, Matthew Flatt wrote: > If you write > > (struct point (x y)) > > then `point` is bound as syntax that both expands to the `point` > constructor and provides static information about the point` structure > (as used, for example, by `match`). > > You could avoid the indirection through syntax, sacrificing static > information, by adding `#:omit-define-syntaxes`: > > (struct point (x y) #:omit-define-syntaxes) > > > For what it's worth, I recommend avoiding `namespace-variable-value`. > There's usually a better way, but it depends on what you're trying to > do. > > At Fri, 24 Jun 2016 14:49:03 -0700 (PDT), "Matt A. Peerson" wrote: > > Hi, > > > > When I define a struct (named e.g. "point") and use > > namespace-variable-value > > in REPL it gives the error: namespace-variable-value: bound to syntax in: > > point > > > > Is this normal? (although even if it is, it'll force me to use class > > definitions for my structs in my current project). > > > > Thanks!
The reason for using namespace-variable-value: I'm using the namespace-mapped-symbols to get the symbols, then namespace-variable-value to get the value of some of those symbols. Struct definitions come with the set of namespace-mapped-symbols. The only alternative I could find is using #%top to use a symbol from the set of namespace-mapped-symbols (but I have to learn what it is and if it'll work for my case). -- 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 [email protected]. For more options, visit https://groups.google.com/d/optout.

