A fast, friendly, functional language. https://roc-lang.org
Find a file
Ayaz Hafiz 078f0147ee
Do not bind accessors in toplevel thunks to their thunks' names
In #3352 an optimization to transform `ra = .field` into

```
ra = \#rcd -[ra]-> #rcd.field
```

rather than

```
__ra1 = \#rcd -[__ra1] -> #rcd.field

ra = LambdaSet { __ra1 }
```

was introduced. However, this optimization is not correct when `ra =
.field` is defined as a toplevel thunk, for in such situations we
indeed want the thunk `ra` to return the lambda set it resolves to,
rather than repointing at itself.

Besides reverting this change, another option would be to convert
accessors into closures before translation of Can to IR. However, this
complicates the translation algorithm more than it already is, and I'd
like to avoid additional special-cases.

Closes #4606
2022-12-02 08:50:03 -06:00
.cargo
.github do spellcheck on github servers 2022-11-24 10:05:26 -05:00
.reuse
ci lib dir is no longer needed 2022-11-24 10:05:29 -05:00
crates Do not bind accessors in toplevel thunks to their thunks' names 2022-12-02 08:50:03 -06:00
design design doc updates 2022-11-25 12:01:06 +01:00
devtools vscode marketplace example 2022-10-28 11:33:01 +02:00
examples update tutorial, cleanup 2022-11-28 20:13:39 +01:00
getting_started Delete TUTORIAL.md in favor of HTML version 2022-11-24 16:06:37 -05:00
nightly_benches
www Make mobile-friendly breakpoint smaller 2022-11-28 17:08:35 -05:00
.gitignore Merge branch 'main' of github.com:roc-lang/roc into editor_launch_fix 2022-11-04 15:15:55 +01:00
.llvmenv
AUTHORS Update AUTHORS 2022-10-31 20:58:26 -04:00
BUILDING_FROM_SOURCE.md add zig version 2022-11-14 09:36:09 +01:00
Cargo.lock Merge pull request #4653 from roc-lang/fix-mv 2022-12-02 07:19:57 -05:00
Cargo.toml Merge pull request #4653 from roc-lang/fix-mv 2022-12-02 07:19:57 -05:00
CODE_OF_CONDUCT.md Use dashes for list markers 2022-09-09 01:12:31 -06:00
CONTRIBUTING.md typos 2022-11-16 16:15:12 +01:00
default.nix update cargoSha256 2022-11-01 22:00:05 -05:00
FAQ.md add question to FAQ 2022-10-24 16:08:43 +02:00
flake.lock rust 1.64 + clippy 2022-11-09 19:35:09 +01:00
flake.nix Merge branch 'main' into benchmarks-to-nix 2022-10-18 13:43:09 +02:00
LEGAL_DETAILS
LICENSE
mlc_config.json Add Dict module to the testing CI 2022-10-23 08:37:59 -04:00
README.md Delete TUTORIAL.md in favor of HTML version 2022-11-24 16:06:37 -05:00
roc-for-elm-programmers.md Delete TUTORIAL.md in favor of HTML version 2022-11-24 16:06:37 -05:00
rust-toolchain.toml Add wasm32-wasi to targets in rust-toolchian.toml 2022-11-26 08:20:18 -05:00
shell.nix
typos.toml
version.txt Make version.txt default to a valid file path 2022-11-20 10:55:15 -05:00

Work in progress!

Roc is not ready for a 0.1 release yet, but we do have:

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.

NoRedInk logo      rwx logo      tweede golf logo

If you or your employer would like to sponsor Roc's development, please DM Richard Feldman on Zulip!