summaryrefslogtreecommitdiff
path: root/hs/notes.txt
blob: e935e4487a503292b6fdec40cf9887f27b3cff03 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
// {
//     f := nil;
//     {
//         a := 1;
//         f = ??{
//             print(a);
//         };
//         f();  // print 1
//         a = 3;
//         f();  // print 3
//     };
//     f();  // print 3
//     a := 2;
//     f();  // print 3
// };  // deref and delete f and a
// print("done");


// -- new snippet


// f := ??{
//     print(a);  // error: undefined variable 'a'
// };
// a := 1;
// f();


// -- new snippet


{
    a := 10;  // 1
    f := nil;  // 2
    {
        a := 20;  // 3
        f = ??{
            print(a);
            g := ??{
                print(a);
            };
            g();
        };
        f();  // -> 20 20    NOTE: the g is stored in 5 while 4 is available!
    };
    f();  // -> 20 20 of 20 10?
};