mattwparas / steel

An embedded scheme interpreter in Rust
Apache License 2.0
1.07k stars 50 forks source link

revamp macro matching #241

Closed jrvidal closed 1 month ago

jrvidal commented 2 months ago

This is a mixed bag of improvements to the expander. My actual end goal was better support for improper lists, but I've accrued too many small changes.

mattwparas commented 2 months ago

Thanks for this! This is some of the oldest code in steel and its a little gnarly, sorry you had to dig through all of that

Overall the changes LGTM, however I'd like to spend just a bit more time looking at the code locally before we merge. I'll have some time later today that I can do that.