Skip to content
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

Related work for extended version #32

Open
1 task
gallais opened this issue Nov 18, 2022 · 1 comment
Open
1 task

Related work for extended version #32

gallais opened this issue Nov 18, 2022 · 1 comment

Comments

@gallais
Copy link
Collaborator

gallais commented Nov 18, 2022

Semantics derived from progress

People will inevitably complain this is slow. Well turns out this is a solved problem!

  • Cite work on deriving abstract machines from operational semantics
    Wouter does it in Agda here and gives us a lot of Danvy references to look through / pick
@jfdm
Copy link
Owner

jfdm commented Nov 18, 2022

Whilst we are talking about related work. We should also cite:

Cas van der Rest, Casper Bach Poulsen, Arjen Rouvoet, Eelco Visser, and Peter Mosses. 2022. Intrinsically-typed definitional interpreters à la carte. 
Proc. ACM Program. Lang. 6, OOPSLA2, Article 192 (October 2022), 30 pages. 
https://doi.org/10.1145/3563355

Specifying and mechanically verifying type safe programming languages requires significant effort. This effort can in theory be reduced by defining and reusing pre-verified, modular components. In practice, however, existing approaches to modular mechanical verification require many times as much specification code as plain, monolithic definitions. This makes it hard to develop new reusable components, and makes existing component specifications hard to grasp. We present an alternative approach based on intrinsically-typed interpreters, which reduces the size and complexity of modular specifications as compared to existing approaches. Furthermore, we introduce a new abstraction for safe-by-construction specification and composition of pre-verified type safe language components: language fragments. Language fragments are about as concise and easy to develop as plain, monolithic intrinsically-typed interpreters, but require about 10 times less code than previous approaches to modular mechanical verification of type safety.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants