Translator language - polymorphic dispatch and memoization by Gert E. Veldhuijzen van Zanten from Dutch Tax Office
We will describe a base language extension called the translator language. It incorporates multi-parameter polymorphic dispatch and memoization. When performing some function on MPS nodes, it’s frequently necessary to visit child and reference nodes without running into cycles. The language simplifies case analysis and prevents cycles through memoization, meaning every node is visited at most once. There is a separate language aspect for translators, which can be extended. We will show how the language can be used for writing interpreters, migrations, type checking, and desugaring. We will also show how to add a tracing mechanism to translators, for example, to add coverage tracing to an interpreter.
Ещё видео!