melt-umn / silver

An attribute grammar-based programming language for composable language extensions
http://melt.cs.umn.edu/silver/
GNU Lesser General Public License v3.0
57 stars 7 forks source link

Avoid traversing monomorphic children when constructing the runtime type representation of a term #778

Closed krame505 closed 1 year ago

krame505 commented 1 year ago

Changes

Apparently, getType on Node was traversing the entire term, even when not needed with monomorphic nonterminals. This fixes that and hopefully provides a bit of speedup with reify/nativeDeserialize.

Documentation

Not really needed