links-lang / links

Links: Linking Theory to Practice for the Web
http://www.links-lang.org
Other
333 stars 43 forks source link

Tracking control-flow linearity for effect handlers #1173

Closed thwfhk closed 1 year ago

thwfhk commented 1 year ago

This PR will track the control-flow linearity for effect handlers, which will resolve issue #544.

It is very incomplete and full of hacks. More explanation to be added. Currently I just want to create a PR to be able to sync with the main branch.

dhil commented 1 year ago

You'll also have to address the CI failures.

dhil commented 1 year ago

Another thing is that you should hide this feature behind a new flag, e.g. track_control_flow_linearity. If that flag is not enabled, then you should emit an error on uses of any of the features included in this PR.

thwfhk commented 1 year ago

There is one remaining problem (or two):

SimonJF commented 1 year ago

@vcgalpin and @SimonJF are going to try this out on our examples

dhil commented 1 year ago

@thwfhk there are a couple of failures now. I will merge this PR once the regressions have been fixed.

thwfhk commented 1 year ago

@thwfhk there are a couple of failures now. I will merge this PR once the regressions have been fixed.

Ah yes. That's because I forgot to add the files of some new tests. They should be fixed now.

dhil commented 1 year ago

I'll merge after the CI has run successfully to completion.

jamescheney commented 1 year ago

So... does this close #544?

dhil commented 1 year ago

So... does this close #544?

No as per the meeting yesterday. We keep the issue open for a potentially fun gimmick. We will close it during POPL.