Re: [racket-users] Hygiene for a curried macro

2020-09-30 Thread rocketnia
becomes a > problem when you want to generate macro definitions that contain > identifiers that they use as binders. > > Philip provided one solution (and thanks for the macro stepper plug!). The > other solution is to pass `var` as an argument to `let-third`. > > Ryan > > &

[racket-users] Hygiene for a curried macro

2020-09-30 Thread rocketnia
ot;Test that a macro generated by a macro can bind a variable the user supplied to the generator macro") ; FAILURE ; actual: "second" ; expected: "third" You can also find this code in Gist form here: https://gist.github.com/rocketnia/cb83da2cfcddbf614dfe1dfc5e08792c

Re: [racket-users] Re: Is it possible to make submodules with private names?

2020-05-23 Thread rocketnia
Thanks everyone for the perspectives and techniques you've offered so far. I've found a flaw in my gensym technique, even at the command line. If I run "raco make badlang.rkt", "raco make badlibrary.rkt", and "raco make client.rkt", the last command has an error. That's because the gensym is

[racket-users] Is it possible to make submodules with private names?

2020-05-22 Thread rocketnia
Hi all, I've been thinking about making libraries that would generate submodules when they're used. However, submodules exist in a flat namespace, I'm a bit afraid of conflicts if I choose the same name as some other library does, and I don't really want users to have to supply their own local

[racket-users] Re: The elegance of tail-nesting recursive syntax

2019-07-25 Thread rocketnia
On Wednesday, July 24, 2019 at 7:46:11 PM UTC-7, Hendrik Boom wrote: > > Too bad we have to use #/ instead of / in ordinary Racket because / is > already used for division. There are a lot more #/'s then divisions in > a typical Racket program. > > Redefining div to mean division isn't a

Re: [racket-users] tail-nesting recursive syntax

2019-07-24 Thread rocketnia
On Wednesday, July 24, 2019 at 6:43:25 AM UTC-7, Ben Greenman wrote: > > On 7/24/19, Mike G. > wrote: > >> My proposal is to pick a currently underused character (I picked '/' 30 > >> years ago but amost anything would do) and use it to replace the > >> tail-nesting '(', and remove its

Re: [racket-users] The case, and a proposal, for elegant syntax in #lang racket2

2019-07-17 Thread rocketnia
On Tuesday, July 16, 2019 at 5:18:24 PM UTC-7, Alexis King wrote: > > So instead of thinking about all the ways Matthew’s proposed syntax is a > compromise that necessarily comes with certain downsides, think of it as a > challenge: how do we take all the lovely things we’ve come to enjoy and

Re: [racket-users] The case, and a proposal, for elegant syntax in #lang racket2

2019-07-16 Thread rocketnia
On Tuesday, July 16, 2019 at 11:46:16 AM UTC-7, gustavo wrote: > > I always imagined racket2 as racket with a few minor backward incompatible > changes, for example make `length` generic, drop `struct`, remove > guarantees about freshness of results. I.E. Most of >

Re: [racket-users] How would you implement autoquoted atoms?

2019-04-24 Thread rocketnia
Instead of a new `#%q-expression` form, I think there's potential to use `#%datum` or `quote` itself for this. Potentially, the only thing that makes numbers (for instance) special is that the reader, printer, IDE, and bytecode systems already know what module(s) the number structure type(s)

[racket-users] Re: Defeating Racket’s separate compilation guarantee

2019-04-23 Thread rocketnia
Thanks for exploring this! I was tempted down this path earlier this year because I was trying to future-proof my structure type definitions by making them cross-phase persistent. I see no innate reason for them not to be, so I figured I'd put in the effort early and avoid having to make a

[racket-users] Re: Avoiding tail-indentation

2019-03-17 Thread rocketnia
e "related work" section of the Parendown readme <https://github.com/lathe/parendown-for-racket#related-work>. - rocketnia -- You received this message because you are subscribed to the Google Groups "Racket Users" group. To unsubscribe from this group and stop receiving