Skip to content

Text

Use this when concatenating, formatting, splitting, searching, or matching strings.

FunctionSignatureDescriptionExample
catt t > tConcatenate two stringscat "hello" " world" -> "hello world"
lent > nString lengthlen "hello" -> 5
trmt > tTrim whitespacetrm " hi " -> "hi"
splt t > L tSplit string by delimiterspl "a,b,c" "," -> ["a","b","c"]
hast t > bCheck if string contains substringhas "hello" "ell" -> true
FunctionSignatureDescriptionExample
rgxt t > L tRegex match (returns captures)rgx "abc123" "[0-9]+" -> ["123"]
rgxallt t > L (L t)All matches with captures, one inner list per match. With no capture groups, each inner list holds the whole match.rgxall "(\\w+)=(\\d+)" "a=1 b=2" -> [["a","1"],["b","2"]]
rgxall1t t > L tAll matches of a single-group pattern, flattened. With no capture groups, returns the list of whole matches. Errors at verify-time if the pattern has 2+ capture groups, use rgxall instead.rgxall1 "(\\d+)" "a=1 b=2" -> ["1","2"]
FunctionSignatureDescriptionExample
fmtt ... > tFormat string with valuesfmt "{} is {}" "sky" "blue"

fmt is pure-functional sprintf, not print. A bare fmt "..." v statement is silently discarded on every engine. Use prnt fmt "..." v to print or line=fmt "..." v to capture. The verifier emits ILO-T032 when fmt/fmt2 is a non-tail statement with no binding (tail position, e.g. f v:n>t;fmt "x={}" v, is the documented “return formatted text” idiom and does not warn).

FunctionSignatureDescriptionExample
str_ > tConvert any value to stringstr 42 -> "42"
numt > nParse string to numbernum "42" -> 42
FunctionSignatureDescriptionExample
prnt_ > _Print value and return itprnt "hello"
Long formShort form
concatcat
lengthlen
trimtrm
splitspl
containshas
formatfmt
regexrgx
printprnt