Update stale document references

This commit is contained in:
Ayaz Hafiz 2024-06-26 02:16:20 -04:00
parent 6a074adcf2
commit 8cdb193301
No known key found for this signature in database
GPG key ID: 0E2A37416A25EF58
3 changed files with 15 additions and 5 deletions

View file

@ -2,4 +2,15 @@
A tool to debug the solver (checker + inference + specialization engine). A tool to debug the solver (checker + inference + specialization engine).
See [the document](https://rwx.notion.site/Type-debugging-tools-de42260060784cacbaf08ea4d61e0eb9?pvs=4). ## Usage
If you run into a typechecking bug and want to try to diagnose it, after minimizing, you can run a debug version of the compiler with `ROC_CHECKMATE=1` set.
That will spit out a JSON file of the form `checkmate_<timestamp>.json`.
You can then load them into the UI and investigate the unifications. The UI can
be started with `npm start` in the `www` directory.
Note that you will need Node.js and NPM installed to run the UI. Unlike other
subprojects, this project requires external dependencies because it is fully
optional, as an internal developer tool. A motivated contributor is free to
rewrite the UI in a different framework, including Roc itself.

View file

@ -4,8 +4,7 @@ Ayaz Hafiz
## Summary ## Summary
This document describes how polymorphic lambda sets are specialized and resolved This document describes how polymorphic lambda sets are specialized and resolved in the compiler's type solver.
in the compiler's type solver. It's derived from the original document at <https://rwx.notion.site/Ambient-Lambda-Set-Specialization-50e0208a39844ad096626f4143a6394e>.
TL;DR: lambda sets are resolved by unifying their ambient arrow types in a “bottom-up” fashion. TL;DR: lambda sets are resolved by unifying their ambient arrow types in a “bottom-up” fashion.

View file

@ -2446,7 +2446,7 @@ fn pattern_as_of_symbol() {
#[mono_test] #[mono_test]
fn function_specialization_information_in_lambda_set_thunk() { fn function_specialization_information_in_lambda_set_thunk() {
// https://github.com/roc-lang/roc/issues/4734 // https://github.com/roc-lang/roc/issues/4734
// https://rwx.notion.site/Let-generalization-Let-s-not-742a3ab23ff742619129dcc848a271cf#6b08b0a203fb443db2d7238a0eb154eb // https://github.com/roc-lang/rfcs/blob/main/0010-let-generalization-lets-not.md
indoc!( indoc!(
r#" r#"
app "test" provides [main] to "./platform" app "test" provides [main] to "./platform"
@ -2465,7 +2465,7 @@ fn function_specialization_information_in_lambda_set_thunk() {
#[mono_test] #[mono_test]
fn function_specialization_information_in_lambda_set_thunk_independent_defs() { fn function_specialization_information_in_lambda_set_thunk_independent_defs() {
// https://github.com/roc-lang/roc/issues/4734 // https://github.com/roc-lang/roc/issues/4734
// https://rwx.notion.site/Let-generalization-Let-s-not-742a3ab23ff742619129dcc848a271cf#6b08b0a203fb443db2d7238a0eb154eb // https://github.com/roc-lang/rfcs/blob/main/0010-let-generalization-lets-not.md
indoc!( indoc!(
r#" r#"
app "test" provides [main] to "./platform" app "test" provides [main] to "./platform"