Softanza
StartFrançais
Softanza
For a program, and for an agent

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

Softanza
aR = StzSelfDocQ("stzList").Ask("remove duplicates")
for k = 1 to len(aR)
    ? aR[k][1] + "  " + aR[k][2] + "  " + aR[k][3]
next
Output
Unique  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

Softanza
? StzSelfDocQ("stzString").HowTo("replace one word with another")
Output
Q("...").Replace("...", "...")   -- retrieved by meaning (grammar suggested ReplaceAnother, not implemented here) (replace)

ExplainMethod: what a method does

Softanza
? StzSelfDocQ("stzList").ExplainMethod("RemoveDuplicates")
Output
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

Softanza
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]
next
Output
Sentiment  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

The recipe uses: Max · Min

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.

Both files are in English, the library's language. They follow the site's rules: nothing that did not run is shown as run.