Ask the library
A program does not read this site: it asks the library. Every Softanza object answers three questions from the explanations written in its own source, the same text the reference shows, with no model loaded and the same answer every time.
Three questions
Ask(question) returns the three methods whose meaning best answers the question, with a score and their explanation. HowTo(intent) returns a call ready to write: the grammar of names first composes a method name and checks it against the class, and otherwise a search by meaning finds one. ExplainMethod(name) returns a method's explanation, its form and an example taken from the tests. Every object answers the same way: Q([1, 2, 2]).Ask("…") asks its own class.
Ask: the methods that answer a question
aR = StzSelfDocQ("stzList").Ask("remove duplicates")
for k = 1 to len(aR)
? aR[k][1] + " " + aR[k][2] + " " + aR[k][3]
nextUnique 1.30 remove duplicates / unique (engine-backed) UniqueCS 1.30 remove duplicates / unique (engine-backed) RemoveDuplicates 1.30 remove duplicates / unique (engine-backed)
HowTo: a call for an intent
? StzSelfDocQ("stzString").HowTo("replace one word with another")Q("...").Replace("...", "...") -- retrieved by meaning (grammar suggested ReplaceAnother, not implemented here) (replace)ExplainMethod: what a method does
? StzSelfDocQ("stzList").ExplainMethod("RemoveDuplicates")RemoveDuplicates -- remove duplicates / unique (engine-backed) e.g. tested in: Remove duplicates A full cleaning pipeline Removing duplicate items from a list in place with RemoveDuplicates(). Sort and deduplicate
Ask, about a text
aR = StzSelfDocQ("stzText").Ask("what is the mood of this text")
for k = 1 to len(aR)
? aR[k][1] + " " + aR[k][2] + " " + aR[k][3]
nextSentiment 1.10 The overall tone/mood of the text as "positive", "negative", or "neutral".
Stem 0.25 Same as Stemmed: The text with every word reduced to its root/stem ("running" -> "run").
Verbs 0.25 The verbs (action words) in the text.run on 2026-10-02 23:02 inside the library at commit 0e72e2e2c, with no neural model loaded · stzSelfDoc.ring(opens in a new tab) · stzObject.ring(opens in a new tab)
Measured: the library's recipes, asked back
The 28 recipes published on this site each state an intent and name the methods that do it. Each intent was asked as it stands, word for word, of its recipe's class. HowTo proposed the recipe's method for 16 questions and another form of the same verb for 3; Ask had one of them among its first three answers for 21. The 9 other HowTo answers are shown as they came: they are the library's work, and they are routed to it.
Run on 2026-10-02 23:02 inside the library at commit 0e72e2e2c, in one process (138.0 s), with no neural model loaded, as an agent gets it by default. An answer counts as "same method" when it names a method the recipe uses, and "same verb" when it names another form of one (Reverse for Reversed). A name ending in Q in an answer is the same method, returning the object so that a call can be chained.
Compute the average (mean) of a list of numbers stzListOfNumbers
The recipe uses: Average
HowTo proposes: Mean · another method
Ask answers: Mean, Average, MeanByCoefficient · same method
Check whether a list contains an item stzList
The recipe uses: Contains
HowTo proposes: Contains · same method
Ask answers: IsListOfTexts, ContainsAll, ContainsEach · another method
Keep only the list items that match a condition stzList
The recipe uses: Filter
HowTo proposes: Merge · another method
Ask answers: Merge, TrimmedToSize, RemoveAllExcept · another method
Find the position of an item in a list stzList
The recipe uses: Find · FindItem
HowTo proposes: FindItem · same method
Ask answers: FindItem, FindFirst, FindFirstCS · same method
Get the first or last element of a list stzList
The recipe uses: FirstItem · LastItem
HowTo proposes: LastItem · same method
Ask answers: LastItem, FirstItem, Reverse · same method
Get the largest or smallest value in a list stzListOfNumbers
HowTo proposes: Bottom3Z · another method
Ask answers: Bottom3Z, Top3Z, Sort · another method
Remove duplicate items from a list (keep the unique ones) stzList
The recipe uses: RemoveDuplicates · NoDuplicates
HowTo proposes: RemoveAllExcept · another method
Ask answers: RemoveAllExcept, RemoveItemsOtherThan, RemoveDuplicates · same method
Reverse the order of items in a list stzList
The recipe uses: Reverse · Reversed
HowTo proposes: Reverse · same method
Ask answers: Reverse, ReversedCopy, ReverseQ · same method
Sort a list into ascending order stzList
The recipe uses: Sort · Sorted
HowTo proposes: Sort · same method
Ask answers: Sort, SortCS, SortAscending · same method
Add up all the numbers in a list stzListOfNumbers
The recipe uses: Sum
HowTo proposes: AddManyOneByOne · another method
Ask answers: AddManyOneByOne, ManyAddOneByOne, AddManyNumbersOneByOne · another method
Check whether a number is even or odd stzNumber
The recipe uses: IsEven · IsOdd
HowTo proposes: IsNotOdd · another method
Ask answers: IsNotOdd, IsNotEven, IsOddOrEven · another method
Get all the factors (divisors) of a number stzNumber
The recipe uses: Factors · PrimeFactors
HowTo proposes: Factors · same method
Ask answers: Factors, Divisors, Dividors · same method
Check whether a number is prime stzNumber
The recipe uses: IsPrime
HowTo proposes: ReturnType · another method
Ask answers: ReturnType, SetReturnType, SetReturnTypeAs · another method
Check whether a string contains a substring stzString
The recipe uses: Contains · FindFirst · NumberOfOccurrence
HowTo proposes: Contains · same method
Ask answers: Contains, ContainsDuplicates, ContainsXT · same method
Count how many times a substring appears stzString
The recipe uses: Count
HowTo proposes: NumberOfOccurrences · same method
Ask answers: NumberOfOccurrences, Count, CountCS · same method
Find where a substring occurs in a string stzString
The recipe uses: Find · FindFirst
HowTo proposes: Contains · another method
Ask answers: Contains, Count, CountCS · another method
Repeat a string several times stzString
The recipe uses: Repeated
HowTo proposes: Repeat · same verb, another form
Ask answers: Repeat, MultiplyBy, RepeatQ · same verb, another form
Replace occurrences of one substring with another stzString
The recipe uses: Replace
HowTo proposes: Replace · same method
Ask answers: Replace, ReplaceCS, ReplaceQ · same method
Reverse the characters of a string stzString
The recipe uses: Reversed
HowTo proposes: Reverse · same verb, another form
Ask answers: Reverse, ReverseQ, Reversed · same method
Split a string into parts on a delimiter stzString
The recipe uses: Split
HowTo proposes: Split · same method
Ask answers: Split, SplitAroundPositions, SplitQ · same method
Check whether a string starts or ends with something stzString
The recipe uses: StartsWith · EndsWith
HowTo proposes: StartsWith · same method
Ask answers: StartsWith, StartsWithCS, EndsWith · same method
Remove leading and trailing whitespace from a string stzString
The recipe uses: Trimmed · TrimmedLeft · TrimmedRight
HowTo proposes: Trim · same verb, another form
Ask answers: Trim, Shrink, TrimLeft · same verb, another form
Convert a string to upper case (or lower case) stzString
The recipe uses: Uppercased · Lowercased
HowTo proposes: IsHybridcase · another method
Ask answers: IsHybridcase, Uppercase, Lowercase · same verb, another form
Detect which natural language a text is written in stzText
The recipe uses: Language
HowTo proposes: Language · same method
Ask answers: Language, DetectedLanguage, LemmatizedInLanguage · same method
Find the people, places, and organizations mentioned in text stzText
The recipe uses: NamedEntities · PersonNames · Organizations · Locations
HowTo proposes: NamedEntities · same method
Ask answers: NamedEntities, Locations, Organizations · same method
Reduce words to their base or root form (lemmatize / stem) stzText
The recipe uses: Lemmatized · Stemmed · AutoLemmatized
HowTo proposes: Lemmatized · same method
Ask answers: Lemmatized, StemmedInLanguage, Stem · same method
Detect the emotional tone (positive or negative) of some text stzText
The recipe uses: Sentiment · SentimentScore · IsPositive
HowTo proposes: Sentiment · same method
Ask answers: Sentiment, SentimentScore, SentimentCompound · same method
Find the main topics or key phrases a text is about stzText
The recipe uses: KeyPhrases · RankedKeywords · TopKeyPhrase
HowTo proposes: KeyPhrases · same method
Ask answers: KeyPhrases, KeyPhrasesXT, KeyPhrasesQ · same method
From outside a program
An agent with a shell can already run a short program that asks these questions. The commands stz ask, stz explain and stz howto, which will answer as data with an exit code a hook can trust, are decided and not built yet; the Coding agents page says which and in what order.
For an agent reading this site
An agent does not need the pages: two files give it the site as data, generated with it at every publication.
- llms.txt · the site in one text file: what Softanza is, and the pages that matter, each linked and described in one line
- agents/index.json · every class and method with its explanation, every recipe with its code and output, every narration run, and the address of every page
Both files are in English, the library's language. They follow the site's rules: nothing that did not run is shown as run.

