tur/tuple
typed N-ary tuples (Tuple2..Tuple5).
Since: Phase TP1 (Tuple2); Phase TP2 (Tuple3..Tuple5)
Tuple2
(defstruct Tuple2 [A B])
two-element tuple with element types A, B.
Since: Phase TP1
tuple2
(tuple2 [A B])
construct a Tuple2[A B].
| a | first element (type A) | |
| b | second element (type B) |
A Tuple2[A B] value.
(tuple2 1 "hi") ; => Tuple2(1, "hi")
Since: Phase TP1
tuple2-1st
(tuple2-1st [A B])
first element of a Tuple2[A B].
| t | Tuple2[A B] |
The first element of type A.
(tuple2-1st (tuple2 10 20)) ; => 10
Since: Phase TP1
tuple2-2nd
(tuple2-2nd [A B])
second element of a Tuple2[A B].
| t | Tuple2[A B] |
The second element of type B.
(tuple2-2nd (tuple2 10 20)) ; => 20
Since: Phase TP1
Tuple3
(defstruct Tuple3 [A B C])
three-element tuple with element types A, B, C.
Since: Phase TP2
tuple3
(tuple3 [A B C])
construct a Tuple3[A B C].
| a | first element (type A) | |
| b | second element (type B) | |
| c | third element (type C) |
A Tuple3[A B C] value.
(tuple3 1 "hi" 3.14) ; => Tuple3(1, "hi", 3.14)
Since: Phase TP2
tuple3-1st
(tuple3-1st [A B C])
first element of a Tuple3[A B C].
Since: Phase TP2
tuple3-2nd
(tuple3-2nd [A B C])
second element of a Tuple3[A B C].
Since: Phase TP2
tuple3-3rd
(tuple3-3rd [A B C])
third element of a Tuple3[A B C].
Since: Phase TP2
Tuple4
(defstruct Tuple4 [A B C D])
four-element tuple with element types A, B, C, D.
Since: Phase TP2
tuple4
(tuple4 [A B C D])
construct a Tuple4[A B C D].
| a | first element (type A) | |
| b | second element (type B) | |
| c | third element (type C) | |
| d | fourth element (type D) |
A Tuple4[A B C D] value.
(tuple4 1 "hi" 3.14 #t) ; => Tuple4(1, "hi", 3.14, #t)
Since: Phase TP2
tuple4-1st
(tuple4-1st [A B C D])
first element of a Tuple4[A B C D].
Since: Phase TP2
tuple4-2nd
(tuple4-2nd [A B C D])
second element of a Tuple4[A B C D].
Since: Phase TP2
tuple4-3rd
(tuple4-3rd [A B C D])
third element of a Tuple4[A B C D].
Since: Phase TP2
tuple4-4th
(tuple4-4th [A B C D])
fourth element of a Tuple4[A B C D].
Since: Phase TP2
Tuple5
(defstruct Tuple5 [A B C D E])
five-element tuple with element types A, B, C, D, E.
Since: Phase TP2
tuple5
(tuple5 [A B C D E])
construct a Tuple5[A B C D E].
| a | first element (type A) | |
| b | second element (type B) | |
| c | third element (type C) | |
| d | fourth element (type D) | |
| e | fifth element (type E) |
A Tuple5[A B C D E] value.
(tuple5 1 "hi" 3.14 #t :ok) ; => Tuple5(1, "hi", 3.14, #t, :ok)
Since: Phase TP2
tuple5-1st
(tuple5-1st [A B C D E])
first element of a Tuple5[A B C D E].
Since: Phase TP2
tuple5-2nd
(tuple5-2nd [A B C D E])
second element of a Tuple5[A B C D E].
Since: Phase TP2
tuple5-3rd
(tuple5-3rd [A B C D E])
third element of a Tuple5[A B C D E].
Since: Phase TP2
tuple5-4th
(tuple5-4th [A B C D E])
fourth element of a Tuple5[A B C D E].
Since: Phase TP2
tuple5-5th
(tuple5-5th [A B C D E])
fifth element of a Tuple5[A B C D E].
Since: Phase TP2
tuple2-eq?
(tuple2-eq? [t1 t2 e1-cmp e2-cmp])
compare two Tuple2 values element-wise using supplied
| t1 | first Tuple2[A B] | |
| t2 | second Tuple2[A B] | |
| e1-cmp | comparator for the first element (fn [a b] :bool) | |
| e2-cmp | comparator for the second element (fn [a b] :bool) |
true if both elements are equal under their comparators.
(tuple2-eq? (tuple2 1 2) (tuple2 1 2)
(fn [a b] (= a b)) (fn [a b] (= a b))) ; => true
Since: Phase TP2
tuple2-eq-carrier?
(tuple2-eq-carrier? [t1 :int t2 :int e1-cmp e2-cmp])
legacy carrier-ABI helper used inside Tuple2's Eq
Since: Phase TP2
Eq[Tuple2]
(definstance Eq [Tuple2])
element-wise equality. At parity with Eq [Pair]: shares
Since: Phase TP2