Without this fix, the parser wrongly turns the following:
```
{
let a = Void
a
}
let _ = True
True
```
into the following:
```
let a = Void
a
let _ = True
True
```
Which in this particular example looks benign. But now takes something
more _real-world_:
```
{
let scope, output <- for_each_2(scopes, other_outputs)
Void
}
let _ = True
True
```
This would lead to the the entire sequence that follows the
backpassed continuation to be added to the continuation; here
ultimately causing a type unification error (since for_each_2 is
expected to yield Void, not Bool).
This is utterly confusing.. and dangerous.
Signed-off-by: KtorZ <matthias.benkort@gmail.com>
|
||
|---|---|---|
| .github | ||
| benchmarks | ||
| crates | ||
| examples | ||
| .editorconfig | ||
| .gitattributes | ||
| .gitignore | ||
| CHANGELOG.md | ||
| CONTRIBUTING.md | ||
| Cargo.lock | ||
| Cargo.toml | ||
| LICENSE | ||
| README.md | ||
| flake.lock | ||
| flake.nix | ||
README.md
Getting Started
Hello, World!
Wanna get started right-away? Complete the Hello, World! tutorial!
Contributing
Want to contribute? See CONTRIBUTING.md to know how.
Changelog
Be on top of any updates using the CHANGELOG and the Project Tracking.
[!NOTE]
The name comes from Howard Aiken, an American physicist and a pioneer in computing.