mirror of
https://github.com/unisonweb/unison.git
synced 2024-09-17 13:27:30 +03:00
0031542faf
This is for consistency with the `cmark` style. Now the blocks we still pretty-print ourselves will match the bulk of them that `cmark` produces.
1005 B
1005 B
This tests a variable related bug in the ANF compiler.
The nested let would get flattened out, resulting in:
bar = result
which would be handled by renaming. However, the context portion of
the rest of the code was not being renamed correctly, so bar
would
remain in the definition of baz
.
foo _ =
id x = x
void x = ()
bar = let
void (Debug.watch "hello" "hello")
result = 5
void (Debug.watch "goodbye" "goodbye")
result
baz = id bar
baz
> !foo
Loading changes detected in scratch.u.
I found and typechecked these definitions in scratch.u. If you
do an `add` or `update`, here's how your codebase would
change:
⍟ These new definitions are ok to `add`:
foo : ∀ _. _ -> Nat
Now evaluating any watch expressions (lines starting with
`>`)... Ctrl+C cancels.
12 | > !foo
⧩
5
scratch/main> add
⍟ I've added these definitions:
foo : ∀ _. _ -> Nat