[graf24abs] | Sebastian Graf, Simon Peyton Jones, Sven Keidel, Abstracting Denotational Interpreters, 2403.02778, arXiv, cs.PL, 2024.
|
Zusammenfassung
We explore denotational interpreters: denotational semantics
that produce coinductive traces of a corresponding small-step operational
semantics. By parameterising our denotational interpreter over the semantic
domain and then varying it, we recover dynamic semantics with different
evaluation strategies as well as summary-based static analyses such as type
analysis, all from the same generic interpreter. Among our contributions is
the first provably adequate denotational semantics for call-by-need. The
generated traces lend themselves well to describe operational properties
such as evaluation cardinality, and hence to static analyses abstracting
these operational properties. Since static analysis and dynamic semantics
share the same generic interpreter definition, soundness proofs via abstract
interpretation decompose into showing small abstraction laws about the
abstract domain, thus obviating complicated ad-hoc preservation-style proof
frameworks.
Download
BibTeX
Institutsinterne Autoren