Gives the type of the input expression.
| Type | Value |
| Input | <A Any> | any value (is ignored) |
| Output | Str | a string representation of the type of the input expression |
| Program | Type | Value | Error |
type | Str | "Null" | |
null type | Str | "Null" | |
true type | Str | "Bool" | |
1 type | Str | "Num" | |
1.5 type | Str | "Num" | |
"abc" type | Str | "Str" | |
for Any def f Any as null ok f type | Str | "Any" | |
[] type | Str | "Arr<>" | |
["dog", "cat"] type | Str | "Arr<Str, Str>" | |
["dog", 1] type | Str | "Arr<Str, Num>" | |
["dog", 1, {}] type | Str | "Arr<Str, Num, Obj<Void>>" | |
["dog", 1, {}, 2] type | Str | "Arr<Str, Num, Obj<Void>, Num>" | |
{} type | Str | "Obj<Void>" | |
{a: null} type | Str | "Obj<a: Null, Void>" | |
{b: false, a: null} type | Str | "Obj<a: Null, b: Bool, Void>" | |
{c: 0, b: false, a: null} type | Str | "Obj<a: Null, b: Bool, c: Num, Void>" | |
{d: "", c: 0, b: false, a: null} type | Str | "Obj<a: Null, b: Bool, c: Num, d: Str, Void>" | |
{e: [], d: "", c: 0, b: false, a: null} type | Str | "Obj<a: Null, b: Bool, c: Num, d: Str, e: Arr<>, Void>" | |
{f: {}, e: [], d: "", c: 0, b: false, a: null} type | Str | "Obj<a: Null, b: Bool, c: Num, d: Str, e: Arr<>, f: Obj<Void>, Void>" | |
for Num def f Num|Str as if ==1 then 1 else "abc" ok ok 1 f type | Str | "Num|Str" | |
for Any def f Num|Str as 1 ok f type | Str | "Num|Str" | |
for Any def f Void|Num as 1 ok f type | Str | "Num" | |
for Any def f Num|Any as 1 ok f type | Str | "Any" | |