Skip to content

Type system diagram

tim-hardcastle edited this page Jul 31, 2024 · 24 revisions

Here is a diagram of the type system. It contains a few types we haven't met yet, such as func.

It does not show the nullable twin of each standard type, with the exception of single? because that would complicate the diagram to little purpose.

graph TD;
    any-->single?;
    any-->tuple
    single?-->single
    single-->intlike;
    intlike-->int
    intlike-->I[clones of int];
    single-->floatlike;
    floatlike-->float
    intlike-->F[clones of float];
    single-->stringlike;
    stringlike-->string
    stringlike-->V[varchar];
    stringlike-->S[clones of string]
    single-->bool;
    single-->null;
    single-->struct;
    single-->listlike;
    listlike-->list
    listlike-->S[clones of list]
    single-->pairlike;
    pairlike-->pair
    pairlike-->P[clones of pair]
    single-->label;
    single-->setlike;
    setlike-->set
    setlike-->Z[clones of set]
    single-->maplike
    maplike-->M[map];
    maplike-->N[clones of map]
    single-->func;
    single-->type;
    struct-->X[user-defined structs];
    enum-->Y[user-defined enums];
Loading

🧿 Pipefish

Clone this wiki locally