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

Introduce Hylo style aliasing and Hylo input #1638

Open
vkuncak opened this issue Jan 27, 2025 · 0 comments
Open

Introduce Hylo style aliasing and Hylo input #1638

vkuncak opened this issue Jan 27, 2025 · 0 comments
Assignees
Labels
aliasing Alias and effect analysis for imperative feature imperative

Comments

@vkuncak
Copy link
Collaborator

vkuncak commented Jan 27, 2025

Hylo is a programming language that leverages mutable value semantics and generic programming for high-level systems programming:

https://github.com/hylo-lang/hylo

https://www.hylo-lang.org/

Stainless is a program verifier for Scala:

https://github.com/epfl-lara/stainless/

The proposal is to

  1. support annotations that mimic Hylo style liveness information and thus support uninitialized fields and consumed fields and applying a more general transformation of such trees to end up with Stainless trees that represent functional code, using a modified version of the transformation to imperative code:

https://infoscience.epfl.ch/entities/publication/412f5b59-2789-4fc2-b71f-142af945bbd3

  1. enable the use of Stainless to verify Hylo code. This will involve parsing JSON representation of Hylo trees into new syntax trees of Stainless with the annotations.

This may require redesigning the entire alias analysis.

@vkuncak vkuncak added aliasing Alias and effect analysis for imperative feature imperative labels Jan 27, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
aliasing Alias and effect analysis for imperative feature imperative
Projects
None yet
Development

No branches or pull requests

2 participants