-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Type System Madness ! #36
Comments
Hello Elton, thanks for the issue. We fixed the problem in the last meeting by exiting the meta level in the following line:
And then, we executed the following apeg file:
Obtaining the output:
which has a constraint of type meta. By disabling VTyMeta constraint creation, we fixed this problem. |
Nice observation and solution Lucas.
Note que varible _2 now has a new constraint : |
Hmm thats interesting, Elton. This approach should be better than avoiding VTyMeta constraints. By the way, I pushed my last commit e67598f so feel free to push these new changes :) Thanks. |
In our previous meetings, we discuss a problem with the type system, basically, we thought that there was something weird was going on with the constraint solver. To better summarize the problem here is a simplified example:
And here is the type system output for the example:
The problem here is that in the body of rule3 z and w are mere unquote of variable q, whose type is metaPeg.
However, z and w have a different type (both are metaExpr) than q.
Out of curiosity, I make the type system print the name of the class of inner node unquote and it is :
Which is, of course, of type metaExpr. Fixing the node construction should solve this and reveal more problems!
The text was updated successfully, but these errors were encountered: