AlgebraicJulia / GATlab.jl

GATlab: a computer algebra system based on generalized algebraic theories (GATs)
https://algebraicjulia.github.io/GATlab.jl/
MIT License
21 stars 2 forks source link

Dot access with symbols instead of idents #138

Closed olynch closed 3 months ago

olynch commented 5 months ago

It's overkill to use the scope machinery for anything except for the top-level variables. This means that in x.a, we resolve x using the scope machinery, but a is just a symbol. This is because once we have resolved the top level, field access should not have any shadowing.

So we will need to change AlgDot to have a Symbol head, and AlgStruct to have an OrderedDict of fields rather than a TypeScope. @kris-brown this is ASKEM priority 1.