The grammar of functions
The library's founding claim is that a function's name is a sentence, with forms that say what happens, how, to what and in which order. Here is each form, tried in the library with the example its own article gives, and what came out.
The claim is old and it is the first page of the library's writing: functions as linguistic expressions, an embedded language in every name, achieved with no AI model, by naming systematically, ordering parameters, varying forms and inferring defaults. The article names the forms. This page does what the site's law asks and tries each one.
Of 22 tries, 11 kept their promise, 8 raised an error, 7 of them for a name the library does not have, and 3 printed something other than the promise.
Active
a verb acting on the object, like an imperative: RemoveAll("x")
o1 = new stzString("TExxAxS")
o1.RemoveAll("x")
? o1.Content()TEAS
kept its promise · promised : TEAS · run on 2026-10-09 04:27 inside the library at commit 4a184e6f0
Passive
the past participle, the state wanted: Removed("x"), and the original is left alone
o1 = new stzString("TExxAxS")
? o1.Removed("x")
? o1.Content()TEAS TExxAxS
kept its promise · promised : TEAS / TExxAxS · run on 2026-10-09 04:27 inside the library at commit 4a184e6f0
o1 = new stzString("TExxAxS")
? o1.AllRemoved("x")Error (R14) : Calling Method without definition: allremoved
does not exist: the library answers · promised : TEAS · run on 2026-10-09 04:27 inside the library at commit 4a184e6f0
Fluent
each verb hands the object back, so the sentence goes on: RemoveQ, ReplaceQ
? Q("texxaxs").
RemoveQ("x").
ReplaceQ("e", :With = AHeart()).
UppercaseQ().
Spacified()T ♥ A S
kept its promise · promised : T ♥ A S · run on 2026-10-09 04:27 inside the library at commit 4a184e6f0
Immutable
QC chains over a copy and the original stays as it was
o1 = new stzString("texxaxs")
? o1.RemoveQC("x").
ReplaceQ("e", :With = AHeart()).
UppercaseQ().
Spacified()
? o1.Content()T ♥ A S texxaxs
kept its promise · promised : T ♥ A S / texxaxs · run on 2026-10-09 04:27 inside the library at commit 4a184e6f0
Partial
an @ verb acts on the part the chain took out: @("x").@Removed()
o1 = new stzString("TExxAxS")
? o1.@("x").@Removed()Error (R14) : Calling Method without definition: @removed
does not exist: the library answers · promised : TEAS · run on 2026-10-09 04:27 inside the library at commit 4a184e6f0
Plural
Many takes a list and the verb is done for each: RemoveMany
o1 = new stzString("__T~~~EA***S__")
o1.RemoveMany([ "_", "~", "*" ])
? o1.Content()TEAS
kept its promise · promised : TEAS · run on 2026-10-09 04:27 inside the library at commit 4a184e6f0
o1 = new stzString("__T~~~EA***S__")
? @@( o1.FindManyZZ([ "__", "~~~", "***" ]) )[ [ "__", [ [ 1, 2 ], [ 13, 14 ] ] ], [ "~~~", [ [ 4, 6 ] ] ], [ "***", [ [ 9, 11 ] ] ] ]
printed something other than the promise · promised : [ [ 1, 2 ], [ 4, 6 ], [ 9, 11 ], [ 13, 14 ] ] · run on 2026-10-09 04:27 inside the library at commit 4a184e6f0
Exceptional
Except says what to spare: RemoveNonLettersExcept("_")
o1 = new stzString("__T~~~EA***S__")
o1.RemoveNonLetters()
? o1.Content()Error (R14) : Calling Method without definition: removenonletters
does not exist: the library answers · promised : TEAS · run on 2026-10-09 04:27 inside the library at commit 4a184e6f0
o1 = new stzString("__T~~~EA***S__")
o1.RemoveNonLettersExcept("_")
? o1.Content()Error (R14) : Calling Method without definition: removenonlettersexcept
does not exist: the library answers · promised : __TEAS__ · run on 2026-10-09 04:27 inside the library at commit 4a184e6f0
Negative
the negation is a word of the name: IsNotLetter, IsNotALetter
? Q("*").IsNotLetter()1
kept its promise · promised : 1 · run on 2026-10-09 04:27 inside the library at commit 4a184e6f0
? Q("*").IsNotALetter()Error (R14) : Calling Method without definition: isnotaletter
does not exist: the library answers · promised : 1 · run on 2026-10-09 04:27 inside the library at commit 4a184e6f0
Alternative
more than one name for the way a person says it, and the words of a name may swap
o1 = new stzList([ "C", "B", "A" ]) o1.SwapItems(1, 3) ? @@( o1.Content() )
[ "A", "B", "C" ]
kept its promise · promised : [ "A", "B", "C" ] · run on 2026-10-09 04:27 inside the library at commit 4a184e6f0
o2 = new stzList([ 1, 2, "♥", 4, 5, "♥", "♥" ]) ? o2.FindNthNext(2, "♥") ? o2.FindNextNth(2, "♥")
Error (R19) : Calling function with less number of parameters
raised an error: the library answers · promised : 6 / 6 · run on 2026-10-09 04:27 inside the library at commit 4a184e6f0
Named parameters
the argument says what it is: :With, :StartingAt
? Q("tea, rice, tea").Replaced("tea", :With = "coffee")coffee, rice, coffee
kept its promise · promised : coffee, rice, coffee · run on 2026-10-09 04:27 inside the library at commit 4a184e6f0
Conditional
W, a condition inside the argument
o = new stzList([ 4, 7, 10, 3, 8 ])
? @@( o.FindW("{ @item > 5 }") )[ 2, 3, 5 ]
kept its promise · promised : [ 2, 3, 5 ] · run on 2026-10-09 04:27 inside the library at commit 4a184e6f0
Prefixes
viz shows the verb's answer on the string
? Q("RINGORIALAND").FindAll("I")2 7
kept its promise · promised : [ 2, 7 ] · run on 2026-10-09 04:27 inside the library at commit 4a184e6f0
? Q("RINGORIALAND").vizFindAll("I")Error (R14) : Calling Method without definition: vizfindall
does not exist: the library answers · promised : RINGORIALAND / -^----^----- · run on 2026-10-09 04:27 inside the library at commit 4a184e6f0
Suffixes
CS, ST, Z, ZZ: the name says which arguments, in which order
o1 = new stzString("123456789TEA")
? o1.FindNextSTCS("tea", 5, FALSE)10
kept its promise · promised : 10 · run on 2026-10-09 04:27 inside the library at commit 4a184e6f0
str = new stzString("SOOooooFFfffTANNnnnZA")
str.RemoveManyCS([ "o", "f", "n" ], FALSE)
? str.Content()STAZA
printed something other than the promise · promised : SOFTANZA · run on 2026-10-09 04:27 inside the library at commit 4a184e6f0
Small functions
Q lifts, @@ reads, Qh keeps the history of a chain
? @@( Qh(12500). AddQ(500). RetrieveQ(1500). DivideByQ(500). MultiplyByQ(2). History() )
[ 12500, 13000, 11500, 23, 46 ]
printed something other than the promise · promised : [ 13000, 11500, 23, 46 ] · run on 2026-10-09 04:27 inside the library at commit 4a184e6f0
Future
F defers an action, FF runs everything deferred before it
? BeforeQ('').UppercasingFQ("teaso").
RemoveFFQ("o").FromItQ().
SpacifyItQ().
AndThenQ().ReturnIt()Error (R3) : Calling Function without definition: beforeq
does not exist: the library answers · promised : T E A S · run on 2026-10-09 04:27 inside the library at commit 4a184e6f0
What was not tried
Other forms are named in the article and not tried here: the random form, the deep form, the default and free-order forms, the misspelled-name and statement forms, and the free form, whose name collides with another suffix in the code. The multilingual form, a function named in Arabic, French or Chinese, exists only in the library's archive and nowhere live.
in construction The article documents more than the library has. Seven of the examples above ask for a name the library does not define, and three promise an answer the library does not give: the sections of a plural find, the history of a chain, and what a case-insensitive removal leaves. They are reported to the library, which has the choice between writing the missing forms and correcting the article. The forms that run are the ones the rest of this site uses, and a reader who knows one verb still knows its family: how Softanza is written tells which.
Source: the article functions as linguistic expressions, whose page says which of its blocks kept their promise.

