Interroger la bibliothèque
Un programme ne lit pas ce site : il interroge la bibliothèque. Chaque objet Softanza répond à trois questions à partir des explications écrites dans sa propre source, le même texte que la référence montre, sans modèle chargé et avec la même réponse à chaque fois.
Trois questions
Ask(question) rend les trois méthodes dont le sens répond le mieux à la question, avec un score et leur explication. HowTo(intention) rend un appel prêt à écrire : la grammaire des noms compose d'abord un nom de méthode et le vérifie contre la classe, sinon la recherche par le sens le trouve. ExplainMethod(nom) rend l'explication d'une méthode, sa forme et un exemple tiré des tests. Tout objet répond de même : Q([1, 2, 2]).Ask("…") pose la question à sa propre classe.
Ask : les méthodes qui répondent à une 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 : un appel pour une intention
? StzSelfDocQ("stzString").HowTo("replace one word with another")Q("...").Replace("...", "...") -- retrieved by meaning (grammar suggested ReplaceAnother, not implemented here) (replace)ExplainMethod : ce que fait une méthode
? 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, sur un texte
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.exécuté le 2026-10-02 23:02 dans la bibliothèque au commit 0e72e2e2c, sans modèle neuronal chargé · stzSelfDoc.ring(s'ouvre dans un nouvel onglet) · stzObject.ring(s'ouvre dans un nouvel onglet)
Mesuré : les recettes de la bibliothèque, posées en retour
Les 28 recettes publiées sur ce site disent chacune une intention et nomment les méthodes qui la réalisent. Chaque intention a été posée telle quelle, mot pour mot, à la classe de sa recette. HowTo a proposé la méthode de la recette pour 16 questions et une autre forme du même verbe pour 3 ; Ask en avait une parmi ses trois premières réponses pour 21. Les 9 autres réponses de HowTo sont montrées telles qu'elles sont venues : c'est le travail de la bibliothèque, et il lui est transmis.
Exécuté le 2026-10-02 23:02 dans la bibliothèque au commit 0e72e2e2c, en un seul processus (138.0 s), sans modèle neuronal chargé, comme un agent l'obtient par défaut. Une réponse compte comme « même méthode » si elle nomme une méthode que la recette utilise, « même verbe » si elle en nomme une autre forme (Reverse pour Reversed). Un nom qui se termine par Q dans une réponse est la même méthode, qui rend l'objet pour que l'appel puisse s'enchaîner.
Calculer la moyenne d'une liste de nombres stzListOfNumbers
La recette utilise : Average
HowTo propose : Mean · une autre méthode
Ask répond : Mean, Average, MeanByCoefficient · même méthode
Vérifier qu'une liste contient un élément stzList
La recette utilise : Contains
HowTo propose : Contains · même méthode
Ask répond : IsListOfTexts, ContainsAll, ContainsEach · une autre méthode
Ne garder que les éléments d'une liste qui remplissent une condition stzList
La recette utilise : Filter
HowTo propose : Merge · une autre méthode
Ask répond : Merge, TrimmedToSize, RemoveAllExcept · une autre méthode
Trouver la position d'un élément dans une liste stzList
La recette utilise : Find · FindItem
HowTo propose : FindItem · même méthode
Ask répond : FindItem, FindFirst, FindFirstCS · même méthode
Obtenir le premier ou le dernier élément d'une liste stzList
La recette utilise : FirstItem · LastItem
HowTo propose : LastItem · même méthode
Ask répond : LastItem, FirstItem, Reverse · même méthode
Obtenir la plus grande ou la plus petite valeur d'une liste stzListOfNumbers
La recette utilise : Max · Min
HowTo propose : Bottom3Z · une autre méthode
Ask répond : Bottom3Z, Top3Z, Sort · une autre méthode
Retirer les doublons d'une liste (garder les éléments uniques) stzList
La recette utilise : RemoveDuplicates · NoDuplicates
HowTo propose : RemoveAllExcept · une autre méthode
Ask répond : RemoveAllExcept, RemoveItemsOtherThan, RemoveDuplicates · même méthode
Inverser l'ordre des éléments d'une liste stzList
La recette utilise : Reverse · Reversed
HowTo propose : Reverse · même méthode
Ask répond : Reverse, ReversedCopy, ReverseQ · même méthode
Trier une liste par ordre croissant stzList
La recette utilise : Sort · Sorted
HowTo propose : Sort · même méthode
Ask répond : Sort, SortCS, SortAscending · même méthode
Additionner tous les nombres d'une liste stzListOfNumbers
La recette utilise : Sum
HowTo propose : AddManyOneByOne · une autre méthode
Ask répond : AddManyOneByOne, ManyAddOneByOne, AddManyNumbersOneByOne · une autre méthode
Vérifier si un nombre est pair ou impair stzNumber
La recette utilise : IsEven · IsOdd
HowTo propose : IsNotOdd · une autre méthode
Ask répond : IsNotOdd, IsNotEven, IsOddOrEven · une autre méthode
Obtenir tous les diviseurs d'un nombre stzNumber
La recette utilise : Factors · PrimeFactors
HowTo propose : Factors · même méthode
Ask répond : Factors, Divisors, Dividors · même méthode
Vérifier si un nombre est premier stzNumber
La recette utilise : IsPrime
HowTo propose : ReturnType · une autre méthode
Ask répond : ReturnType, SetReturnType, SetReturnTypeAs · une autre méthode
Vérifier qu'une chaîne contient une sous-chaîne stzString
La recette utilise : Contains · FindFirst · NumberOfOccurrence
HowTo propose : Contains · même méthode
Ask répond : Contains, ContainsDuplicates, ContainsXT · même méthode
Compter combien de fois une sous-chaîne apparaît stzString
La recette utilise : Count
HowTo propose : NumberOfOccurrences · même méthode
Ask répond : NumberOfOccurrences, Count, CountCS · même méthode
Trouver où une sous-chaîne apparaît dans une chaîne stzString
La recette utilise : Find · FindFirst
HowTo propose : Contains · une autre méthode
Ask répond : Contains, Count, CountCS · une autre méthode
Répéter une chaîne plusieurs fois stzString
La recette utilise : Repeated
HowTo propose : Repeat · même verbe, autre forme
Ask répond : Repeat, MultiplyBy, RepeatQ · même verbe, autre forme
Remplacer les occurrences d'une sous-chaîne par une autre stzString
La recette utilise : Replace
HowTo propose : Replace · même méthode
Ask répond : Replace, ReplaceCS, ReplaceQ · même méthode
Inverser les caractères d'une chaîne stzString
La recette utilise : Reversed
HowTo propose : Reverse · même verbe, autre forme
Ask répond : Reverse, ReverseQ, Reversed · même méthode
Découper une chaîne en parties selon un séparateur stzString
La recette utilise : Split
HowTo propose : Split · même méthode
Ask répond : Split, SplitAroundPositions, SplitQ · même méthode
Vérifier si une chaîne commence ou finit par quelque chose stzString
La recette utilise : StartsWith · EndsWith
HowTo propose : StartsWith · même méthode
Ask répond : StartsWith, StartsWithCS, EndsWith · même méthode
Retirer les espaces au début et à la fin d'une chaîne stzString
La recette utilise : Trimmed · TrimmedLeft · TrimmedRight
HowTo propose : Trim · même verbe, autre forme
Ask répond : Trim, Shrink, TrimLeft · même verbe, autre forme
Mettre une chaîne en majuscules (ou en minuscules) stzString
La recette utilise : Uppercased · Lowercased
HowTo propose : IsHybridcase · une autre méthode
Ask répond : IsHybridcase, Uppercase, Lowercase · même verbe, autre forme
Détecter la langue naturelle dans laquelle un texte est écrit stzText
La recette utilise : Language
HowTo propose : Language · même méthode
Ask répond : Language, DetectedLanguage, LemmatizedInLanguage · même méthode
Trouver les personnes, les lieux et les organisations cités dans un texte stzText
La recette utilise : NamedEntities · PersonNames · Organizations · Locations
HowTo propose : NamedEntities · même méthode
Ask répond : NamedEntities, Locations, Organizations · même méthode
Ramener les mots à leur forme de base (lemmatiser, raciniser) stzText
La recette utilise : Lemmatized · Stemmed · AutoLemmatized
HowTo propose : Lemmatized · même méthode
Ask répond : Lemmatized, StemmedInLanguage, Stem · même méthode
Détecter le ton d'un texte, positif ou négatif stzText
La recette utilise : Sentiment · SentimentScore · IsPositive
HowTo propose : Sentiment · même méthode
Ask répond : Sentiment, SentimentScore, SentimentCompound · même méthode
Trouver les sujets ou les expressions clés d'un texte stzText
La recette utilise : KeyPhrases · RankedKeywords · TopKeyPhrase
HowTo propose : KeyPhrases · même méthode
Ask répond : KeyPhrases, KeyPhrasesXT, KeyPhrasesQ · même méthode
Depuis l'extérieur d'un programme
Un agent qui dispose d'un terminal peut déjà exécuter un court programme qui pose ces questions. Les commandes stz ask, stz explain et stz howto, qui répondront sous forme de données avec un code de sortie fiable, sont décidées et pas encore construites ; la page Agents qui codent dit lesquelles et dans quel ordre.
Pour un agent qui lit ce site
Un agent n'a pas besoin des pages : deux fichiers lui donnent le site sous forme de données, générés avec lui à chaque publication.
- llms.txt · le site en un fichier texte : ce qu'est Softanza, et les pages qui comptent, chacune liée et décrite en une ligne
- agents/index.json · chaque classe et chaque méthode avec son explication, chaque recette avec son code et sa sortie, chaque narration exécutée, et l'adresse de chaque page
Les deux fichiers sont en anglais, la langue de la bibliothèque. Ils suivent les règles du site : rien qui n'ait été exécuté n'y est montré comme exécuté.

