mirror of
https://github.com/roc-lang/roc.git
synced 2025-10-03 08:34:33 +00:00
Update stale document references
This commit is contained in:
parent
6a074adcf2
commit
8cdb193301
3 changed files with 15 additions and 5 deletions
|
@ -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.
|
||||||
|
|
|
@ -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.
|
||||||
|
|
||||||
|
|
|
@ -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"
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue