Softanza
StartFrançais
Softanza
A name is a sentence, tried

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")

Softanza
o1 = new stzString("TExxAxS")
o1.RemoveAll("x")
? o1.Content()
Output
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

Softanza
o1 = new stzString("TExxAxS")
? o1.Removed("x")
? o1.Content()
Output
TEAS
TExxAxS

kept its promise · promised : TEAS / TExxAxS · run on 2026-10-09 04:27 inside the library at commit 4a184e6f0

Softanza
o1 = new stzString("TExxAxS")
? o1.AllRemoved("x")
The library answers
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

Softanza
? Q("texxaxs").
	RemoveQ("x").
	ReplaceQ("e", :With = AHeart()).
	UppercaseQ().
	Spacified()
Output
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

Softanza
o1 = new stzString("texxaxs")
? o1.RemoveQC("x").
	ReplaceQ("e", :With = AHeart()).
	UppercaseQ().
	Spacified()
? o1.Content()
Output
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()

Softanza
o1 = new stzString("TExxAxS")
? o1.@("x").@Removed()
The library answers
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

Softanza
o1 = new stzString("__T~~~EA***S__")
o1.RemoveMany([ "_", "~", "*" ])
? o1.Content()
Output
TEAS

kept its promise · promised : TEAS · run on 2026-10-09 04:27 inside the library at commit 4a184e6f0

Softanza
o1 = new stzString("__T~~~EA***S__")
? @@( o1.FindManyZZ([ "__", "~~~", "***" ]) )
Output
[ [ "__", [ [ 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("_")

Softanza
o1 = new stzString("__T~~~EA***S__")
o1.RemoveNonLetters()
? o1.Content()
The library answers
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

Softanza
o1 = new stzString("__T~~~EA***S__")
o1.RemoveNonLettersExcept("_")
? o1.Content()
The library answers
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

Softanza
? Q("*").IsNotLetter()
Output
1

kept its promise · promised : 1 · run on 2026-10-09 04:27 inside the library at commit 4a184e6f0

Softanza
? Q("*").IsNotALetter()
The library answers
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

Softanza
o1 = new stzList([ "C", "B", "A" ])
o1.SwapItems(1, 3)
? @@( o1.Content() )
Output
[ "A", "B", "C" ]

kept its promise · promised : [ "A", "B", "C" ] · run on 2026-10-09 04:27 inside the library at commit 4a184e6f0

Softanza
o2 = new stzList([ 1, 2, "♥", 4, 5, "♥", "♥" ])
? o2.FindNthNext(2, "♥")
? o2.FindNextNth(2, "♥")
The library answers
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

Softanza
? Q("tea, rice, tea").Replaced("tea", :With = "coffee")
Output
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

Softanza
o = new stzList([ 4, 7, 10, 3, 8 ])
? @@( o.FindW("{ @item > 5 }") )
Output
[ 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

Softanza
? Q("RINGORIALAND").FindAll("I")
Output
2
7

kept its promise · promised : [ 2, 7 ] · run on 2026-10-09 04:27 inside the library at commit 4a184e6f0

Softanza
? Q("RINGORIALAND").vizFindAll("I")
The library answers
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

Softanza
o1 = new stzString("123456789TEA")
? o1.FindNextSTCS("tea", 5, FALSE)
Output
10

kept its promise · promised : 10 · run on 2026-10-09 04:27 inside the library at commit 4a184e6f0

Softanza
str = new stzString("SOOooooFFfffTANNnnnZA")
str.RemoveManyCS([ "o", "f", "n" ], FALSE)
? str.Content()
Output
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

Softanza
? @@( Qh(12500).
	AddQ(500).
	RetrieveQ(1500).
	DivideByQ(500).
	MultiplyByQ(2).
	History() )
Output
[ 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

Softanza
? BeforeQ('').UppercasingFQ("teaso").
	RemoveFFQ("o").FromItQ().
	SpacifyItQ().
	AndThenQ().ReturnIt()
The library answers
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.