|
2 | 2 |
|
3 | 3 | """Common combinators""" |
4 | 4 |
|
| 5 | +from typing import Final |
5 | 6 | from . import Variable, Application |
6 | 7 |
|
7 | 8 | __all__ = ( |
|
16 | 17 | "OMEGA" |
17 | 18 | ) |
18 | 19 |
|
19 | | -Y = Application( |
| 20 | +Y: Final = Application( |
20 | 21 | Variable("g").apply_to( |
21 | 22 | Variable("x").apply_to(Variable("x")) |
22 | 23 | ).abstract("x"), |
|
28 | 29 | Y combinator used to define recursive terms. |
29 | 30 | """ |
30 | 31 |
|
31 | | -S = Variable("x").apply_to( |
| 32 | +S: Final = Variable("x").apply_to( |
32 | 33 | Variable("z"), |
33 | 34 | Variable("y").apply_to(Variable("z")) |
34 | 35 | ).abstract("x", "y", "z") |
35 | 36 | """ |
36 | 37 | S combinator of the SKI combinator calculus. |
37 | 38 | """ |
38 | 39 |
|
39 | | -K = Variable("x").abstract("x", "y") |
| 40 | +K: Final = Variable("x").abstract("x", "y") |
40 | 41 | """ |
41 | 42 | K combinator of the SKI combinator calculus. |
42 | 43 | """ |
43 | 44 |
|
44 | | -I = Variable("x").abstract("x") |
| 45 | +I: Final = Variable("x").abstract("x") |
45 | 46 | """ |
46 | 47 | I combinator of the SKI combinator calculus. |
47 | 48 | """ |
48 | 49 |
|
49 | | -B = Variable("x").apply_to( |
| 50 | +B: Final = Variable("x").apply_to( |
50 | 51 | Variable("y").apply_to(Variable("z")) |
51 | 52 | ).abstract("x", "y", "z") |
52 | 53 | """ |
53 | 54 | B combinator of the BCKW combinator calculus. |
54 | 55 | """ |
55 | 56 |
|
56 | | -C = Variable("x").apply_to( |
| 57 | +C: Final = Variable("x").apply_to( |
57 | 58 | Variable("z"), |
58 | 59 | Variable("y") |
59 | 60 | ).abstract("x", "y", "z") |
60 | 61 | """ |
61 | 62 | C combinator of the BCKW combinator calculus. |
62 | 63 | """ |
63 | 64 |
|
64 | | -W = Variable("x").apply_to( |
| 65 | +W: Final = Variable("x").apply_to( |
65 | 66 | Variable("y"), |
66 | 67 | Variable("y") |
67 | 68 | ).abstract("x", "y") |
68 | 69 | """ |
69 | 70 | W combinator of the BCKW combinator calculus. |
70 | 71 | """ |
71 | 72 |
|
72 | | -DELTA = Variable("x").apply_to( |
| 73 | +DELTA: Final = Variable("x").apply_to( |
73 | 74 | Variable("x") |
74 | 75 | ).abstract("x") |
75 | 76 | """ |
76 | 77 | Term applying its argument to itself. |
77 | 78 | """ |
78 | 79 |
|
79 | | -OMEGA = DELTA.apply_to(DELTA) |
| 80 | +OMEGA: Final = DELTA.apply_to(DELTA) |
80 | 81 | """ |
81 | 82 | Smallest term with no beta normal form. |
82 | 83 | """ |
0 commit comments