···
45
45
let a$2 = x[0];
46
46
let b = a$2;
47
47
wibble(b);
48
48
-
let c = (() => {
48
48
+
let _block;
49
49
+
{
49
50
let a$3 = a$2;
50
50
-
return [a$3, b];
51
51
-
})();
52
52
-
wibble(a$2);
51
51
+
_block = [a$3, b];
52
52
+
}
53
53
+
let c = _block;
54
54
+
wibble(a$3);
53
55
let x$1 = c;
54
56
return x$1;
55
57
}
···
15
15
16
16
----- COMPILED JAVASCRIPT
17
17
function go() {
18
18
-
let x = (() => {
18
18
+
let _block;
19
19
+
{
19
20
1;
20
20
-
return 2;
21
21
-
})();
21
21
+
_block = 2;
22
22
+
}
23
23
+
let x = _block;
22
24
return x;
23
25
}
···
16
16
----- COMPILED JAVASCRIPT
17
17
function b() {
18
18
let x = 1;
19
19
-
undefined;
20
20
-
return x + 1;
19
19
+
{
20
20
+
undefined;
21
21
+
return x + 1;
22
22
+
}
21
23
}
···
16
16
----- COMPILED JAVASCRIPT
17
17
function b() {
18
18
let x = 1;
19
19
-
let x$1 = 2;
20
20
-
return x$1 + 1;
19
19
+
{
20
20
+
let x$1 = 2;
21
21
+
return x$1 + 1;
22
22
+
}
21
23
}
···
15
15
----- COMPILED JAVASCRIPT
16
16
function b() {
17
17
let x = 1;
18
18
-
let x$1 = x;
19
19
-
return x$1;
18
18
+
return x;
20
19
}
···
17
17
18
18
----- COMPILED JAVASCRIPT
19
19
function main(f, a, b) {
20
20
-
return (() => {
21
21
-
let _pipe = a;
22
22
-
return f(_pipe);
23
23
-
})() + (() => {
24
24
-
let _pipe = b;
25
25
-
return f(_pipe);
26
26
-
})();
20
20
+
let _block;
21
21
+
let _pipe = a;
22
22
+
_block = f(_pipe);
23
23
+
let _block$1;
24
24
+
let _pipe$1 = b;
25
25
+
_block$1 = f(_pipe$1);
26
26
+
return _block + _block$1;
27
27
}
···
14
14
15
15
----- COMPILED JAVASCRIPT
16
16
function go() {
17
17
-
return 1 === (() => {
17
17
+
let _block;
18
18
+
{
18
19
1;
19
19
-
return 2;
20
20
-
})();
20
20
+
_block = 2;
21
21
+
}
22
22
+
return 1 === _block;
21
23
}
···
18
18
19
19
----- COMPILED JAVASCRIPT
20
20
function go() {
21
21
-
let x = (() => {
21
21
+
let _block;
22
22
+
{
22
23
1;
23
23
-
2;
24
24
-
return 3;
25
25
-
})();
24
24
+
{
25
25
+
2;
26
26
+
_block = 3;
27
27
+
}
28
28
+
}
29
29
+
let x = _block;
26
30
return x;
27
31
}
···
20
20
21
21
----- COMPILED JAVASCRIPT
22
22
function go() {
23
23
-
let x = (() => {
23
23
+
let _block;
24
24
+
{
24
25
1;
25
25
-
2;
26
26
-
let $ = true;
27
26
{
28
28
-
return 3;
27
27
+
2;
28
28
+
let $ = true;
29
29
+
{
30
30
+
_block = 3;
31
31
+
}
29
32
}
30
30
-
})();
33
33
+
}
34
34
+
let x = _block;
31
35
return x;
32
36
}
···
25
25
}
26
26
27
27
function go() {
28
28
-
let x = (() => {
28
28
+
let _block;
29
29
+
{
29
30
1;
30
30
-
let _pipe = (() => {
31
31
+
let _block$1;
32
32
+
{
31
33
2;
32
34
let _pipe = 3;
33
33
-
return add1(_pipe);
34
34
-
})();
35
35
-
return add1(_pipe);
36
36
-
})();
35
35
+
_block$1 = add1(_pipe);
36
36
+
}
37
37
+
let _pipe$1 = _block$1;
38
38
+
_block = add1(_pipe$1);
39
39
+
}
40
40
+
let x = _block;
37
41
return x;
38
42
}
···
19
19
20
20
----- COMPILED JAVASCRIPT
21
21
function go() {
22
22
-
let x = (() => {
22
22
+
let _block;
23
23
+
{
23
24
1;
24
24
-
(() => {
25
25
+
let _block$1;
26
26
+
{
25
27
2;
26
26
-
return 3;
27
27
-
})();
28
28
-
return 4;
29
29
-
})();
28
28
+
_block$1 = 3;
29
29
+
}
30
30
+
_block$1;
31
31
+
_block = 4;
32
32
+
}
33
33
+
let x = _block;
30
34
return x;
31
35
}
···
14
14
15
15
----- COMPILED JAVASCRIPT
16
16
function go() {
17
17
-
return (() => {
17
17
+
let _block;
18
18
+
{
18
19
1;
19
19
-
return 2;
20
20
-
})() === 1;
20
20
+
_block = 2;
21
21
+
}
22
22
+
return _block === 1;
21
23
}
···
11
11
import { makeError } from "../gleam.mjs";
12
12
13
13
export function negate(x) {
14
14
-
return (() => {
15
15
-
throw makeError(
16
16
-
"panic",
17
17
-
"my/mod",
18
18
-
2,
19
19
-
"negate",
20
20
-
"`panic` expression evaluated.",
21
21
-
{}
22
22
-
)
23
23
-
})() && x;
14
14
+
let _block;
15
15
+
throw makeError(
16
16
+
"panic",
17
17
+
"my/mod",
18
18
+
2,
19
19
+
"negate",
20
20
+
"`panic` expression evaluated.",
21
21
+
{}
22
22
+
)
23
23
+
return _block && x;
24
24
}
···
11
11
import { makeError } from "../gleam.mjs";
12
12
13
13
export function negate(x) {
14
14
-
return x && (() => {
15
15
-
throw makeError(
16
16
-
"panic",
17
17
-
"my/mod",
18
18
-
2,
19
19
-
"negate",
20
20
-
"`panic` expression evaluated.",
21
21
-
{}
22
22
-
)
23
23
-
})();
14
14
+
let _block;
15
15
+
throw makeError(
16
16
+
"panic",
17
17
+
"my/mod",
18
18
+
2,
19
19
+
"negate",
20
20
+
"`panic` expression evaluated.",
21
21
+
{}
22
22
+
)
23
23
+
return x && _block;
24
24
}
···
11
11
import { makeError } from "../gleam.mjs";
12
12
13
13
export function negate(x) {
14
14
-
return (() => {
15
15
-
throw makeError(
16
16
-
"todo",
17
17
-
"my/mod",
18
18
-
2,
19
19
-
"negate",
20
20
-
"`todo` expression evaluated. This code has not yet been implemented.",
21
21
-
{}
22
22
-
)
23
23
-
})() && x;
14
14
+
let _block;
15
15
+
throw makeError(
16
16
+
"todo",
17
17
+
"my/mod",
18
18
+
2,
19
19
+
"negate",
20
20
+
"`todo` expression evaluated. This code has not yet been implemented.",
21
21
+
{}
22
22
+
)
23
23
+
return _block && x;
24
24
}
···
11
11
import { makeError } from "../gleam.mjs";
12
12
13
13
export function negate(x) {
14
14
-
return x && (() => {
15
15
-
throw makeError(
16
16
-
"todo",
17
17
-
"my/mod",
18
18
-
2,
19
19
-
"negate",
20
20
-
"`todo` expression evaluated. This code has not yet been implemented.",
21
21
-
{}
22
22
-
)
23
23
-
})();
14
14
+
let _block;
15
15
+
throw makeError(
16
16
+
"todo",
17
17
+
"my/mod",
18
18
+
2,
19
19
+
"negate",
20
20
+
"`todo` expression evaluated. This code has not yet been implemented.",
21
21
+
{}
22
22
+
)
23
23
+
return x && _block;
24
24
}
···
11
11
import { makeError } from "../gleam.mjs";
12
12
13
13
export function negate(x) {
14
14
-
return !(() => {
15
15
-
throw makeError(
16
16
-
"panic",
17
17
-
"my/mod",
18
18
-
2,
19
19
-
"negate",
20
20
-
"`panic` expression evaluated.",
21
21
-
{}
22
22
-
)
23
23
-
})();
14
14
+
let _block;
15
15
+
throw makeError(
16
16
+
"panic",
17
17
+
"my/mod",
18
18
+
2,
19
19
+
"negate",
20
20
+
"`panic` expression evaluated.",
21
21
+
{}
22
22
+
)
23
23
+
return !_block;
24
24
}
···
11
11
import { makeError } from "../gleam.mjs";
12
12
13
13
export function negate(x) {
14
14
-
return !(() => {
15
15
-
throw makeError(
16
16
-
"todo",
17
17
-
"my/mod",
18
18
-
2,
19
19
-
"negate",
20
20
-
"`todo` expression evaluated. This code has not yet been implemented.",
21
21
-
{}
22
22
-
)
23
23
-
})();
14
14
+
let _block;
15
15
+
throw makeError(
16
16
+
"todo",
17
17
+
"my/mod",
18
18
+
2,
19
19
+
"negate",
20
20
+
"`todo` expression evaluated. This code has not yet been implemented.",
21
21
+
{}
22
22
+
)
23
23
+
return !_block;
24
24
}
···
12
12
13
13
----- COMPILED JAVASCRIPT
14
14
export function negate(x) {
15
15
-
return !(() => {
15
15
+
let _block;
16
16
+
{
16
17
123;
17
17
-
return x;
18
18
-
})();
18
18
+
_block = x;
19
19
+
}
20
20
+
return !_block;
19
21
}
···
15
15
16
16
----- COMPILED JAVASCRIPT
17
17
function go(x) {
18
18
-
let y = (() => {
19
19
-
if (x) {
20
20
-
return 1;
21
21
-
} else {
22
22
-
return 0;
23
23
-
}
24
24
-
})();
18
18
+
let _block;
19
19
+
if (x) {
20
20
+
_block = 1;
21
21
+
} else {
22
22
+
_block = 0;
23
23
+
}
24
24
+
let y = _block;
25
25
return y;
26
26
}
···
14
14
15
15
----- COMPILED JAVASCRIPT
16
16
function go(x, y) {
17
17
-
return (() => {
18
18
-
if (x === 0) {
19
19
-
return y;
20
20
-
} else {
21
21
-
return y;
22
22
-
}
23
23
-
})()();
17
17
+
let _block;
18
18
+
if (x === 0) {
19
19
+
_block = y;
20
20
+
} else {
21
21
+
_block = y;
22
22
+
}
23
23
+
return _block();
24
24
}
···
14
14
15
15
----- COMPILED JAVASCRIPT
16
16
function go(x, f) {
17
17
-
let $ = (() => {
18
18
-
let _pipe = x;
19
19
-
return f(_pipe);
20
20
-
})();
17
17
+
let _block;
18
18
+
let _pipe = x;
19
19
+
_block = f(_pipe);
20
20
+
let $ = _block;
21
21
if ($ === 0) {
22
22
return 1;
23
23
} else {
···
15
15
16
16
----- COMPILED JAVASCRIPT
17
17
function go(x) {
18
18
-
let y = (() => {
19
19
-
let $ = x();
20
20
-
if ($) {
21
21
-
return 1;
22
22
-
} else {
23
23
-
return 0;
24
24
-
}
25
25
-
})();
18
18
+
let _block;
19
19
+
let $ = x();
20
20
+
if ($) {
21
21
+
_block = 1;
22
22
+
} else {
23
23
+
_block = 0;
24
24
+
}
25
25
+
let y = _block;
26
26
return y;
27
27
}
···
16
16
----- COMPILED JAVASCRIPT
17
17
export function main() {
18
18
let text = "first defined";
19
19
-
let other = (() => {
20
20
-
let $ = "defined again";
21
21
-
{
22
22
-
let text$1 = $;
23
23
-
return undefined;
24
24
-
}
25
25
-
})();
19
19
+
let _block;
20
20
+
let $ = "defined again";
21
21
+
{
22
22
+
let text$1 = $;
23
23
+
_block = undefined;
24
24
+
}
25
25
+
let other = _block;
26
26
let text$1 = "a third time";
27
27
return text$1;
28
28
}
···
27
27
28
28
export function main() {
29
29
let a = new Thing(undefined);
30
30
-
let b = (() => {
31
31
-
let _record = a;
32
32
-
return new Thing(undefined);
33
33
-
})();
30
30
+
let _block;
31
31
+
let _record = a;
32
32
+
_block = new Thing(undefined);
33
33
+
let b = _block;
34
34
return b.constructor$;
35
35
}
···
27
27
28
28
export function main() {
29
29
let a = new Thing(undefined);
30
30
-
let b = (() => {
31
31
-
let _record = a;
32
32
-
return new Thing(undefined);
33
33
-
})();
30
30
+
let _block;
31
31
+
let _record = a;
32
32
+
_block = new Thing(undefined);
33
33
+
let b = _block;
34
34
return b.then$;
35
35
}
···
24
24
} from "../gleam.mjs";
25
25
26
26
export function main() {
27
27
-
return echo(
28
28
-
(() => {
29
29
-
undefined;
30
30
-
return 1;
31
31
-
})(),
32
32
-
"src/module.gleam",
33
33
-
3,
34
34
-
);
27
27
+
let _block;
28
28
+
{
29
29
+
undefined;
30
30
+
_block = 1;
31
31
+
}
32
32
+
return echo(_block, "src/module.gleam", 3);
35
33
}
36
34
37
35
// ...omitted code from `templates/echo.mjs`...
···
23
23
} from "../gleam.mjs";
24
24
25
25
export function main() {
26
26
-
return echo(
27
27
-
(() => {
28
28
-
let $ = 1;
29
29
-
{
30
30
-
return 2;
31
31
-
}
32
32
-
})(),
33
33
-
"src/module.gleam",
34
34
-
3,
35
35
-
);
26
26
+
let _block;
27
27
+
let $ = 1;
28
28
+
{
29
29
+
_block = 2;
30
30
+
}
31
31
+
return echo(_block, "src/module.gleam", 3);
36
32
}
37
33
38
34
// ...omitted code from `templates/echo.mjs`...
···
22
22
} from "../gleam.mjs";
23
23
24
24
export function main() {
25
25
-
return echo(
26
26
-
(() => {
27
27
-
throw makeError(
28
28
-
"panic",
29
29
-
"my/mod",
30
30
-
3,
31
31
-
"main",
32
32
-
"`panic` expression evaluated.",
33
33
-
{}
34
34
-
)
35
35
-
})(),
36
36
-
"src/module.gleam",
25
25
+
let _block;
26
26
+
throw makeError(
27
27
+
"panic",
28
28
+
"my/mod",
37
29
3,
38
38
-
);
30
30
+
"main",
31
31
+
"`panic` expression evaluated.",
32
32
+
{}
33
33
+
)
34
34
+
return echo(_block, "src/module.gleam", 3);
39
35
}
40
36
41
37
// ...omitted code from `templates/echo.mjs`...
···
13
13
14
14
----- COMPILED JAVASCRIPT
15
15
export function main(f, x) {
16
16
-
return f(
17
17
-
(() => {
18
18
-
if (x === 1) {
19
19
-
return 2;
20
20
-
} else {
21
21
-
return 0;
22
22
-
}
23
23
-
})(),
24
24
-
);
16
16
+
let _block;
17
17
+
if (x === 1) {
18
18
+
_block = 2;
19
19
+
} else {
20
20
+
_block = 0;
21
21
+
}
22
22
+
return f(_block);
25
23
}
···
17
17
import { println } from "../wibble.mjs";
18
18
19
19
export function main() {
20
20
-
let println$1 = (() => {
21
21
-
let _pipe = "oh dear";
22
22
-
return println(_pipe);
23
23
-
})();
20
20
+
let _block;
21
21
+
let _pipe = "oh dear";
22
22
+
_block = println(_pipe);
23
23
+
let println$1 = _block;
24
24
return println$1;
25
25
}
···
21
21
}
22
22
23
23
export function main() {
24
24
-
let version$1 = (() => {
25
25
-
let _pipe = 1;
26
26
-
return version(_pipe);
27
27
-
})();
24
24
+
let _block;
25
25
+
let _pipe = 1;
26
26
+
_block = version(_pipe);
27
27
+
let version$1 = _block;
28
28
return version$1;
29
29
}
···
16
16
----- COMPILED JAVASCRIPT
17
17
export function bad() {
18
18
return (state) => {
19
19
-
let state$1 = (() => {
20
20
-
let $ = undefined;
21
21
-
{
22
22
-
return state;
23
23
-
}
24
24
-
})();
19
19
+
let _block;
20
20
+
let $ = undefined;
21
21
+
{
22
22
+
_block = state;
23
23
+
}
24
24
+
let state$1 = _block;
25
25
return state$1;
26
26
};
27
27
}
···
13
13
import { toList } from "../gleam.mjs";
14
14
15
15
function go(x) {
16
16
-
return toList([
17
17
-
(() => {
18
18
-
true;
19
19
-
return 1;
20
20
-
})(),
21
21
-
]);
16
16
+
let _block;
17
17
+
{
18
18
+
true;
19
19
+
_block = 1;
20
20
+
}
21
21
+
return toList([_block]);
22
22
}
···
16
16
import { divideFloat } from "../gleam.mjs";
17
17
18
18
function go() {
19
19
-
return divideFloat(
20
20
-
(() => {
21
21
-
let $ = 1.0 >= 0.0;
22
22
-
if ($) {
23
23
-
return 2.0;
24
24
-
} else {
25
25
-
return 4.0;
26
26
-
}
27
27
-
})(),
28
28
-
2.0
29
29
-
);
19
19
+
let _block;
20
20
+
let $ = 1.0 >= 0.0;
21
21
+
if ($) {
22
22
+
_block = 2.0;
23
23
+
} else {
24
24
+
_block = 4.0;
25
25
+
}
26
26
+
return divideFloat(_block, 2.0);
30
27
}
···
16
16
import { divideInt } from "../gleam.mjs";
17
17
18
18
function go() {
19
19
-
return divideInt(
20
20
-
(() => {
21
21
-
let $ = 1 >= 0;
22
22
-
if ($) {
23
23
-
return 2;
24
24
-
} else {
25
25
-
return 4;
26
26
-
}
27
27
-
})(),
28
28
-
2
29
29
-
);
19
19
+
let _block;
20
20
+
let $ = 1 >= 0;
21
21
+
if ($) {
22
22
+
_block = 2;
23
23
+
} else {
24
24
+
_block = 4;
25
25
+
}
26
26
+
return divideInt(_block, 2);
30
27
}
···
16
16
import { remainderInt } from "../gleam.mjs";
17
17
18
18
function go() {
19
19
-
return remainderInt(
20
20
-
(() => {
21
21
-
let $ = 1 >= 0;
22
22
-
if ($) {
23
23
-
return 2;
24
24
-
} else {
25
25
-
return 4;
26
26
-
}
27
27
-
})(),
28
28
-
2
29
29
-
);
19
19
+
let _block;
20
20
+
let $ = 1 >= 0;
21
21
+
if ($) {
22
22
+
_block = 2;
23
23
+
} else {
24
24
+
_block = 4;
25
25
+
}
26
26
+
return remainderInt(_block, 2);
30
27
}
···
14
14
import { makeError } from "../gleam.mjs";
15
15
16
16
function go(f) {
17
17
-
let boop = (() => {
18
18
-
throw makeError(
19
19
-
"panic",
20
20
-
"my/mod",
21
21
-
3,
22
22
-
"go",
23
23
-
"`panic` expression evaluated.",
24
24
-
{}
25
25
-
)
26
26
-
})();
27
27
-
return f(
28
28
-
(() => {
29
29
-
throw makeError(
30
30
-
"panic",
31
31
-
"my/mod",
32
32
-
4,
33
33
-
"go",
34
34
-
"`panic` expression evaluated.",
35
35
-
{}
36
36
-
)
37
37
-
})(),
38
38
-
);
17
17
+
let _block;
18
18
+
throw makeError(
19
19
+
"panic",
20
20
+
"my/mod",
21
21
+
3,
22
22
+
"go",
23
23
+
"`panic` expression evaluated.",
24
24
+
{}
25
25
+
)
26
26
+
let boop = _block;
27
27
+
let _block$1;
28
28
+
throw makeError(
29
29
+
"panic",
30
30
+
"my/mod",
31
31
+
4,
32
32
+
"go",
33
33
+
"`panic` expression evaluated.",
34
34
+
{}
35
35
+
)
36
36
+
return f(_block$1);
39
37
}
···
13
13
import { makeError } from "../gleam.mjs";
14
14
15
15
function go(f) {
16
16
+
let _block;
17
17
+
throw makeError(
18
18
+
"panic",
19
19
+
"my/mod",
20
20
+
3,
21
21
+
"go",
22
22
+
"`panic` expression evaluated.",
23
23
+
{}
24
24
+
)
16
25
let _pipe = f;
17
17
-
return (() => {
18
18
-
throw makeError(
19
19
-
"panic",
20
20
-
"my/mod",
21
21
-
3,
22
22
-
"go",
23
23
-
"`panic` expression evaluated.",
24
24
-
{}
25
25
-
)
26
26
-
})()(_pipe);
26
26
+
return _block(_pipe);
27
27
}
···
15
15
16
16
----- COMPILED JAVASCRIPT
17
17
export function main(x) {
18
18
-
let z = (() => {
18
18
+
let _block;
19
19
+
{
19
20
let y = x;
20
20
-
return main(y - 1);
21
21
-
})();
21
21
+
_block = main(y - 1);
22
22
+
}
23
23
+
let z = _block;
22
24
return z;
23
25
}
···
14
14
import { makeError } from "../gleam.mjs";
15
15
16
16
function go(f) {
17
17
-
let boop = (() => {
18
18
-
throw makeError("todo", "my/mod", 3, "go", "I should do this", {})
19
19
-
})();
20
20
-
return f((() => { throw makeError("todo", "my/mod", 4, "go", "Boom", {}) })());
17
17
+
let _block;
18
18
+
throw makeError("todo", "my/mod", 3, "go", "I should do this", {})
19
19
+
let boop = _block;
20
20
+
let _block$1;
21
21
+
throw makeError("todo", "my/mod", 4, "go", "Boom", {})
22
22
+
return f(_block$1);
21
23
}
···
17
17
18
18
----- COMPILED JAVASCRIPT
19
19
function go() {
20
20
-
return [
21
21
-
"1",
22
22
-
(() => {
23
23
-
"2";
24
24
-
return "3";
25
25
-
})(),
26
26
-
];
20
20
+
let _block;
21
21
+
{
22
22
+
"2";
23
23
+
_block = "3";
24
24
+
}
25
25
+
return ["1", _block];
27
26
}