> On Oct 13, 2017, at 18:52, Geoffrey Knauth <ge...@knauth.org> wrote:
> 
> Maybe do undisputedly?-evil name-mangling now to get things working,
> then become a saint with a better solution down the road.  Sometimes
> I don't realize how to do something the "good" way until I've traveled
> down the path of doing it some less than good way, then the "good" way
> reveals itself early one morning or late one night, when I least
> expect it.  30 years ago C++ had ugly name mangling, until that ugly
> part of C++ went away 5-10 years later.  The non-mangling way did not
> reveal itself at first.

I decided to take your advice and give this a try. I came up with a
solution using name mangling that seems to work at first blush, though
I’ve only thrown an extremely simple problem at it. The example and its
implementation are available here:

  https://gist.github.com/lexi-lambda/dbd9371f1268f72f9a0b9f8e09e1b46c

I’m not sure if this technique will hold up under additional stress, but
it seems to work alright, so I’m going to try applying it to Hackett
itself.

Additionally, in the process of creating this example, I discovered that
the documentation for splicing-syntax-parameterize appears to be a lie:
splicing-syntax-parameterize works quite well with require transformers.
Perhaps that caveat no longer applies with the set-of-scopes expander?
I hope I’m not relying on intentionally undefined behavior.

-- 
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.
For more options, visit https://groups.google.com/d/optout.

Reply via email to