PreviousUpNext

10.5.5  Tuple Expressions

A tuple is a sequence of values identified and accessed by number within the sequence. Different values within a tuple may be of different types. Tuples are the simplest and cheapest of Mythryl datastructures. It is normal and encouraged for a Mythryl program to create and discard millions of tuples during a run; the Mythryl compiler and runtime are optimised to support this. At the implementation level, a tuple is just a sequence of values packed consecutively into a chunk of RAM.

A tuple is constructed by listing a comma-separated sequence of values in parentheses, and accessed using the operators #1, #2, #3 ... to access the first, second and third slots (and so on):

    linux$ my

    eval:  t = (1, 2.0, "three");               # Construct a tuple.

    (1, 2.0, "three")

    eval:  #1 t;                                # Access first field in tuple.

    1

    eval:  #2 t;                                # Access second field in tuple.

    2.0

    eval:  #3 t;                                # Access third field in tuple.

    "three"

In practice, tuple elements are usually accessed via pattern-matching:

    linux$ my

    eval:  t = (1, 2.0, "three");

    eval:  my (int, float, string) = t;         # Assign individual names to the tuple fields.

    eval:  int;

    1

    eval:  float;

    2.0

    eval:  string;

    "three"


Comments and suggestions to: bugs@mythryl.org

PreviousUpNext