mattwparas / steel

An embedded scheme interpreter in Rust
Apache License 2.0
980 stars 46 forks source link

support improper lists #217

Closed jrvidal closed 3 weeks ago

jrvidal commented 1 month ago

This is a somewhat incomplete PR to support improper lists at the syntax level.

It is incomplete b/c macro patterns and matching has not been updated, so things like the macro definition of case-lambda does not work properly. However, it doesn't work properly at the moment either, so it might make sense to merge without fully solving the macro situation.

TODO

mattwparas commented 1 month ago

This is great, thank you! I'll take a look this evening. Adjusting macros to include this won't be too hard but we don't need to have that as part of this change since it will get more complicated pretty quickly.