mirror of
https://github.com/roc-lang/roc.git
synced 2025-08-04 20:28:02 +00:00
A fast, friendly, functional language.
https://roc-lang.org
![]() We must be careful to ensure that if unifying nested lambda sets results in disjoint lambdas, that the parent lambda sets are ultimately treated disjointly as well. Consider ``` v1: {} -[ foo ({} -[ bar Str ]-> {}) ]-> {} ~ v2: {} -[ foo ({} -[ bar U64 ]-> {}) ]-> {} ``` When considering unification of the nested sets ``` [ bar Str ] ~ [ bar U64 ] ``` we should not unify these sets, even disjointly, because that would ultimately lead us to unifying ``` v1 ~ v2 => {} -[ foo ({} -[ bar Str, bar U64 ]-> {}) ] -> {} ``` which is quite wrong - we do not have a lambda `foo` that captures either `bar captures: Str` or `bar captures: U64`, we have two different lambdas `foo` that capture different `bars`. The target unification is ``` v1 ~ v2 => {} -[ foo ({} -[ bar Str ]-> {}), foo ({} -[ bar U64 ]-> {}) ] -> {} ``` Closes #4712 |
||
---|---|---|
.cargo | ||
.github | ||
.reuse | ||
ci | ||
crates | ||
design | ||
devtools | ||
examples | ||
getting_started | ||
nightly_benches | ||
www | ||
.gitignore | ||
.llvmenv | ||
AUTHORS | ||
BUILDING_FROM_SOURCE.md | ||
Cargo.lock | ||
Cargo.toml | ||
CODE_OF_CONDUCT.md | ||
CONTRIBUTING.md | ||
default.nix | ||
FAQ.md | ||
flake.lock | ||
flake.nix | ||
LEGAL_DETAILS | ||
LICENSE | ||
mlc_config.json | ||
README.md | ||
roc-for-elm-programmers.md | ||
rust-toolchain.toml | ||
shell.nix | ||
typos.toml | ||
version.txt |
Work in progress!
Roc is not ready for a 0.1 release yet, but we do have:
- installation guide
- tutorial
- docs for the standard library
- frequently asked questions
- Zulip chat for help, questions and discussions
If you'd like to get involved in contributing to the language, the Zulip chat is also the best place to get help with good first issues.
Sponsors
We are very grateful to our sponsors NoRedInk, rwx, and Tweede golf.
If you or your employer would like to sponsor Roc's development, please DM Richard Feldman on Zulip!