|
35 | 35 | ) |
36 | 36 |
|
37 | 37 | ; Must use integer nil terminators to avoid confusion with subtyping |
38 | | -(declare-parameterized-const + ((T Type :implicit) (U Type :implicit)) (-> T U (arith_typeunion_nary T U)) :right-assoc-nil 0) |
39 | | -(declare-parameterized-const - ((T Type :implicit) (U Type :implicit)) (-> T U (arith_typeunion T U)) :left-assoc) |
40 | | -(declare-parameterized-const * ((T Type :implicit) (U Type :implicit)) (-> T U (arith_typeunion_nary T U)) :right-assoc-nil 1) |
| 38 | +(declare-parameterized-const + ((T Type :implicit) (U Type :implicit)) |
| 39 | + (-> T U (arith_typeunion_nary T U)) :right-assoc-nil 0) |
| 40 | +(declare-parameterized-const - ((T Type :implicit) (U Type :implicit)) |
| 41 | + (-> T U (arith_typeunion T U)) :left-assoc) |
| 42 | +(declare-parameterized-const * ((T Type :implicit) (U Type :implicit)) |
| 43 | + (-> T U (arith_typeunion_nary T U)) :right-assoc-nil 1) |
41 | 44 |
|
42 | | -(declare-parameterized-const < ((T Type :implicit) (U Type :implicit)) (-> (! T :requires ((is_arith_type T) true)) |
| 45 | +(declare-parameterized-const < ((T Type :implicit) (U Type :implicit)) (-> |
| 46 | + (! T :requires ((is_arith_type T) true)) |
43 | 47 | (! U :requires ((is_arith_type U) true)) |
44 | 48 | Bool) |
45 | 49 | :chainable and) |
46 | | -(declare-parameterized-const <= ((T Type :implicit) (U Type :implicit)) (-> (! T :requires ((is_arith_type T) true)) |
| 50 | +(declare-parameterized-const <= ((T Type :implicit) (U Type :implicit)) (-> |
| 51 | + (! T :requires ((is_arith_type T) true)) |
47 | 52 | (! U :requires ((is_arith_type U) true)) |
48 | 53 | Bool) |
49 | 54 | :chainable and) |
50 | | -(declare-parameterized-const > ((T Type :implicit) (U Type :implicit)) (-> (! T :requires ((is_arith_type T) true)) |
51 | | - (! U :requires ((is_arith_type U) true)) |
52 | | - Bool) |
53 | | - :chainable and) |
54 | | -(declare-parameterized-const >= ((T Type :implicit) (U Type :implicit)) (-> (! T :requires ((is_arith_type T) true)) |
| 55 | +(declare-parameterized-const > ((T Type :implicit) (U Type :implicit)) (-> |
| 56 | + (! T :requires ((is_arith_type T) true)) |
| 57 | + (! U :requires ((is_arith_type U) true)) |
| 58 | + Bool) |
| 59 | + :chainable and) |
| 60 | +(declare-parameterized-const >= ((T Type :implicit) (U Type :implicit)) (-> |
| 61 | + (! T :requires ((is_arith_type T) true)) |
55 | 62 | (! U :requires ((is_arith_type U) true)) |
56 | 63 | Bool) |
57 | 64 | :chainable and) |
58 | 65 |
|
59 | | -(declare-parameterized-const to_real ((T Type :implicit)) (-> (! T :requires ((is_arith_type T) true)) |
| 66 | +(declare-parameterized-const to_real ((T Type :implicit)) (-> |
| 67 | + (! T :requires ((is_arith_type T) true)) |
60 | 68 | Real)) |
61 | | -(declare-parameterized-const to_int ((T Type :implicit)) (-> (! T :requires ((is_arith_type T) true)) |
| 69 | +(declare-parameterized-const to_int ((T Type :implicit)) (-> |
| 70 | + (! T :requires ((is_arith_type T) true)) |
62 | 71 | Int)) |
63 | | -(declare-parameterized-const is_int ((T Type :implicit)) (-> (! T :requires ((is_arith_type T) true)) |
| 72 | +(declare-parameterized-const is_int ((T Type :implicit)) (-> |
| 73 | + (! T :requires ((is_arith_type T) true)) |
64 | 74 | Bool)) |
65 | | -(declare-parameterized-const abs ((T Type :implicit)) (-> (! T :requires ((is_arith_type T) true)) |
| 75 | +(declare-parameterized-const abs ((T Type :implicit)) (-> |
| 76 | + (! T :requires ((is_arith_type T) true)) |
66 | 77 | T)) |
67 | 78 |
|
68 | 79 | ; power |
69 | | -(declare-parameterized-const ^ ((T Type :implicit) (U Type :implicit)) (-> T U (arith_typeunion T U))) |
| 80 | +(declare-parameterized-const ^ ((T Type :implicit) (U Type :implicit)) |
| 81 | + (-> T U (arith_typeunion T U))) |
70 | 82 |
|
71 | 83 | ; currently unary negation cannot use overload |
72 | | -(declare-parameterized-const u- ((T Type :implicit)) (-> (! T :requires ((is_arith_type T) true)) |
73 | | - T)) |
| 84 | +(declare-parameterized-const u- ((T Type :implicit)) |
| 85 | + (-> (! T :requires ((is_arith_type T) true)) T)) |
0 commit comments