On Saturday, 25 June 2016 08:20:30 UTC+10, Matt A. Peerson wrote: > 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).
or maybe I can use identifier-binding after appending #' to the symbol string? -- 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.

