Tuple introspection
Factor handbook » The language » Objects » Tuples

Prev:Protocol slots
Next:Tuple redefinition

In addition to the slot reader and writer words which TUPLE: defines for every tuple class, it is possible to construct and take apart entire tuples in a generic way.
>tuple ( seq -- tuple )

tuple>array ( tuple -- array )

tuple-slots ( tuple -- seq )

slots>tuple ( seq class -- tuple )

Tuples can be compared for slot equality even if the tuple class overrides equal?:
tuple= ( tuple1 tuple2 -- ? )

Tuple classes can also be defined at run time:
define-tuple-class ( class superclass slots -- )

See also
Low-level slot operations, Mirrors