effekt-lang / effekt-lang/effekt
Require capture annotation on extern definitions
- Dominant language
- Scala
- Stars
- 469
- Forks
- 41
- Avg merge
- 1d 16h
- Merged PRs (30d)
- 23
Description
Time and time again I and others have observed that capture annotations on externs defaulting to io is more confusing than always requiring it to be explicitly annotated. The following should no longer be accepted:
```
extern def alert(message: String): Unit =
js "alert(message)"
```
Instead one has to write the following with the same meaning:
```
extern def alert(message: String) at io: Unit =
js "alert(message)"
```
Contributor guide
No contributing guide indexed for this repository
Research direction
The issue names no files or tests. Start by searching the compiler for extern definitions and capture-annotation handling, then run the existing extern-related tests if found. Done means the unannotated form is rejected while the explicit `at io` form remains accepted.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- scala
- Domain
- compilers
- Issue type
- Feature
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Clearly specified
- Newbie friendliness
- 48/100