masak / alma

ALgoloid with MAcros -- a language with Algol-family syntax where macros take center stage
Artistic License 2.0
139 stars 15 forks source link

Add a test for unquotes _not_ being first-class syntax #576

Open masak opened 1 year ago

masak commented 1 year ago

In one of the really long-running issues I realize with the force of a pan-galactic gargleblaster that unquotes are holes, not "first-class Qnodes".

In another issue somewhere talking about traversal, I wonder out loud how this will affect traversing quasis, now that they "contain" holes which are not really "there". As I recall it, I provide the question but no satisfactory answer.

Meanwhile, in Bel, I'm asking to add this test in order to properly test a (fairly horrible) behavior that stems from unquotes in Bel being first-class AST objects, and "unhygienic" ones at that, not in any way connected to the surrounding quasiquote in which they were used. (And that is why Bawden insists quote interpolation should be part of the reader, to avoid such a disconnect/spooky action at a distance.)

I'm still not claiming to have any ready answers. (As usual, this is brain-melty.) But I think focusing on Bawden's stance (and the example in https://github.com/masak/bel/issues/427) might help clarify what Alma can do and (maybe) should do in this case.