
I’ve now expanded my first macro using the Racket expander running on Chez!

woo!

do you have a sense for why the change to not generate let-values
made such a difference, even though chez expands let-values
in almost exactly the same way?

My guess is that something is wrong with the let-values
expansion in Chez – accidental quadratic behavior, maybe – but I haven’t investigated

I can now (with the contents of my latest PR) run #lang racket
programs

ah darn, still not quite

@mflatt the strategy for literal regexps in convert.rkt
doesn’t work for '(a b c #rx"")
and a repair is not obvious

if you have a suggestion for how to do it, I’ll take a stab at implementing

You understand that “convert.rkt” is a stop-gap that’s intended for just the expander and layers that live below it, right?

I’m ok with experiments running other Racket modules via “convert.rkt”, but I don’t think we want to invest too much there

The longer-term strategy is to directly use read
as extracted, right?

as well as expand

Right – everything will be loaded and run by the implementation in “expand.sls”

If you want to keep playing with uses of “convert.rkt”, though, I’m fine with that – and I don’t plan to reorganize things again for a few hours, if you’d like to resync the PR

@mflatt my pull request is now re-synced, and also contains some useful fixes (demoed in <http://expander-demo.ss\|expander-demo.ss>
)

it relies on a small bug fix in the linklet
branch, which you can find in a PR there

Merged, but I’d like to revert “Enable print-graph”, since the intent is to not use the Chez printer

Sure, that makes sense

@samth When I try to build the with the linlket commits, the math package fails with a TR error; is that because the expansion of in-...
changed, or something else?

that’s probably why, I’ll investigate

@mflatt the TR/math issue is fixed by the combination of https://github.com/mflatt/racket/pull/13 and https://github.com/racket/typed-racket/pull/501

I’ll merge the TR one once the CI finishes there

now merged

I wrote a repl, but somehow it doesn’t work when I define identifiers
