I recognize quote, ?, and cons by textual appearance (~datum), not by binding. Let me know if this should be changed.
Also, I recognize many literal constants that Racket allows, just to be safe. But let me know if I should remove any.
Also, I strictly follow the grammar, so the list pattern is not supported. Let me know if it should be supported, and I'll adjust both documentation and implementation.
Here's one possible fix.
I'm kinda uncomfortable with assuming that any match expander is pretending to be a struct. This is mostly to make
posn
(which uses a custom match expander) work. I can use a trick similar to https://racket.discourse.group/t/impersonate-syntax-transformer-cursed-or-not/971/13 to make this more precise, if that's really a concern.I recognize
quote
,?
, andcons
by textual appearance (~datum
), not by binding. Let me know if this should be changed.Also, I recognize many literal constants that Racket allows, just to be safe. But let me know if I should remove any.
Also, I strictly follow the grammar, so the
list
pattern is not supported. Let me know if it should be supported, and I'll adjust both documentation and implementation.