[racket-users] Re: Avoiding tail-indentation

2019-03-17 Thread rocketnia
7;d like to add it to the "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

[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 brea

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) co

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 > https://github.com/racket/rack

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] 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 corresp

[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 real

[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

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 m

[racket-users] Hygiene for a curried macro

2020-09-29 Thread rocketnia
"third" "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/cb83da2c

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

2020-09-30 Thread rocketnia
actions for syntax in the same way that > Racket's closures are pure abstractions for computation. That 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