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

How does interpreting and linearity of languages interact? #44

Open
L-as opened this issue May 28, 2023 · 1 comment
Open

How does interpreting and linearity of languages interact? #44

L-as opened this issue May 28, 2023 · 1 comment

Comments

@L-as
Copy link
Member

L-as commented May 28, 2023

Especially important in the context of #42 .

@L-as
Copy link
Member Author

L-as commented May 28, 2023

If you have a term then interpret e.g. a linear variable to a free variable,
then you have a new term morally that is equivalent modulo that one point.
It shouldn't be feasible for any part of the term to depend on this being a linear variable.
Imagine you have a node that stores a Term (LinVar a : ls) tag and preserves the LinVar in the languages,
then interpreting this would result in a situation where this node is "opened up", then
the interpreters are applied to the subnodes, and we use the interpreters to transform the ls to
something we can understand, without interpreting LinVar into something else.
In practice, this means you can't interpret it, even though it looks like you can.

What other implications does this have?
Imagine you have a similar situation, but fix another language that isn't LinVar,
which you transform into a LinVar then use within a linear lambda.
This is well-typed, does it break soundness? I will think about it more.

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

1 participant