Closed dannypsnl closed 1 year ago
I think ...
form is not an accident, it really points out multiple patterns share the same cardinal, hence ,@
is not a good replacement for ...
since ,@[x y]
is more confusing than [,x ,y] ...
. Under this solution, ,
is just a mark to tell the macro to ensure it's a variable, and ...
stands for (List A)
.
And the structure definition generator should be modified to fit.
Traditionally, we can write
The problem in typed-nanopass is, if we write the following
What was the type of
L0:Expr:let
?The point is how do we ensure the difference between meaningless S-expression syntax and the code that really needs a field to store?
I have a draft idea about what the target should be.
Update 2022/09/04
I think the problem is I'm trying to fuse two concepts within one syntax, the new draft idea should be:
A structure syntax is
This means the macro has an ambiguity now, however, the macro has no idea which
e
it is.