Quadruple

is a tuple of length 4.

<

defn

(Fn [(Quadruple a b c d), (Quadruple a b c d)] Bool)

                        (< t1 t2)
                    

=

defn

(Fn [(Ref (Quadruple a b c d) e), (Ref (Quadruple a b c d) e)] Bool)

                        (= o1 o2)
                    

>

defn

(Fn [(Quadruple a b c d), (Quadruple a b c d)] Bool)

                        (> t1 t2)
                    

a

instantiate

(Fn [(Ref (Quadruple a b c d) e)] (Ref a e))

gets the a property of a Quadruple.

b

instantiate

(Fn [(Ref (Quadruple a b c d) e)] (Ref b e))

gets the b property of a Quadruple.

c

instantiate

(Fn [(Ref (Quadruple a b c d) e)] (Ref c e))

gets the c property of a Quadruple.

copy

template

(Fn [(Ref (Quadruple a b c d) e)] (Quadruple a b c d))

copies a Quadruple.

d

instantiate

(Fn [(Ref (Quadruple a b c d) e)] (Ref d e))

gets the d property of a Quadruple.

delete

template

(Fn [(Quadruple a b c d)] ())

deletes a Quadruple. Should usually not be called manually.

init

template

(Fn [a, b, c, d] (Quadruple a b c d))

creates a Quadruple.

init-from-refs

defn

(Fn [(Ref a b), (Ref c d), (Ref e f), (Ref g h)] (Quadruple a c e g))

                        (init-from-refs a-val b-val c-val d-val)
                    

initializes a Quadruple from member references.

prn

template

(Fn [(Ref (Quadruple a b c d) e)] String)

converts a Quadruple to a string.

reverse

defn

(Fn [(Ref (Quadruple a b c d) e)] (Quadruple d c b a))

                        (reverse t)
                    

reverses a Quadruple by reversing its member positions.

set-a

template

(Fn [(Quadruple a b c d), a] (Quadruple a b c d))

sets the a property of a Quadruple.

set-a!

template

(Fn [(Ref (Quadruple a b c d) e), a] ())

sets the a property of a Quadruple in place.

set-b

template

(Fn [(Quadruple a b c d), b] (Quadruple a b c d))

sets the b property of a Quadruple.

set-b!

template

(Fn [(Ref (Quadruple a b c d) e), b] ())

sets the b property of a Quadruple in place.

set-c

template

(Fn [(Quadruple a b c d), c] (Quadruple a b c d))

sets the c property of a Quadruple.

set-c!

template

(Fn [(Ref (Quadruple a b c d) e), c] ())

sets the c property of a Quadruple in place.

set-d

template

(Fn [(Quadruple a b c d), d] (Quadruple a b c d))

sets the d property of a Quadruple.

set-d!

template

(Fn [(Ref (Quadruple a b c d) e), d] ())

sets the d property of a Quadruple in place.

str

template

(Fn [(Ref (Quadruple a b c d) e)] String)

converts a Quadruple to a string.

update-a

instantiate

(Fn [(Quadruple a b c d), (Ref (Fn [a] a e) f)] (Quadruple a b c d))

updates the a property of a (Quadruple a b c d) using a function f.

update-b

instantiate

(Fn [(Quadruple a b c d), (Ref (Fn [b] b e) f)] (Quadruple a b c d))

updates the b property of a (Quadruple a b c d) using a function f.

update-c

instantiate

(Fn [(Quadruple a b c d), (Ref (Fn [c] c e) f)] (Quadruple a b c d))

updates the c property of a (Quadruple a b c d) using a function f.

update-d

instantiate

(Fn [(Quadruple a b c d), (Ref (Fn [d] d e) f)] (Quadruple a b c d))

updates the d property of a (Quadruple a b c d) using a function f.

zero

defn

(Fn [] (Quadruple a b c d))

                        (zero)