— le langage —

Langage VVL

Une syntaxe Lisp homoiconique. 608 builtins. Vingt opérateurs où le LLM devient un opérateur du langage, comme + ou ==. Le langage spécialement conçu pour piloter un serveur IA.

Testez VVL online Référence complète
— La règle d'or —

Tout est commande entre crochets

Une seule règle de syntaxe — [commande args…] — se décline partout : un calcul, une classe, un appel réseau, une requête LLM. Le code est une donnée : une liste s'évalue, ou se cite avec le backtick pour être manipulée comme un arbre syntaxique.

~ syntaxe fondamentale ~
# Prefix form [command args…] — eager evaluation, innermost first
[print [+ 1 2 3]]          # → 6

# Variables ($), assignment (=), sugared infix arithmetic (…)
$prix = 100
$ttc  = ($prix * 1.20)          # → 120.0

# Quasiquote (backtick) = literal data; unquote (,) injects a value
$n = 5
`[1 ,$n ,[+ 1 2]]            # → [1 5 3]

# String interpolation: ${ VVL expression }
$msg = "n*n = ${[* $n $n]}"     # → "n*n = 25"

# Dotted accessors, chainable
$s = "  42  "
$s.trim.int                     # → 42

# Lambda (params → $__name) + map / pmap (parallel)
$double = [lambda [x] [* $__x 2]]
[map $double `[1 2 3 4]]          # → [2 4 6 8]
[pmap $extract $documents]      # N LLM calls in parallel
— Le LLM n'est pas une API, c'est le langage —

Quatre rôles, zéro pipeline

Dans VVL, le modèle de langage n'est pas un service externe qu'on appelle : il acquiert un contrat d'interface stable, au même titre que + ou ==. Il endosse quatre rôles, sans aucun code de plomberie entre eux.

1 · opérateur

Opérateur [§ "…"]

L'opérande sémantique fait basculer le même dispatcheur du mode arithmétique au mode neuro-symbolique. Retour typé : booléen, chaîne ou concept.

 "chat"] ==  "félin"]   # → 1
 "voiture"] +  "électrique"]
# → electric car (concept)
2 · générateur

Générateur @

Une description produit une lambda VVL validée par le parser et exécutée en bac à sable (liste blanche de builtins). Le LLM réfléchit une fois, le code tourne N fois.

$fn = ($orders @  "total_amount > 1000"])
[filter $fn $orders]   # local lambda, 0 LLM
3 · objet

Objet [@ "nom"]

Un nom de concept se matérialise en objet formel (Zalta). Noyau de propriétés au bootstrap, découverte paresseuse ensuite, cache à trois niveaux → coût décroissant.

$soleil = [@ "Soleil"]
$soleil.masse_kg     # → 1.989e30
($soleil ~~ "Étoile")  # → ~0.95
4 · compilateur

Compilateur §§ / generic

§§ compile une question en français en programme VVL, l'exécute et rend le résultat. generic l'industrialise en keyword nommé, testé et persisté — réutilisable sur d'autres concepts.

[§§ "consommation BMW Série 3 diesel 2024 ?"] # → ~5.1

[generic "masse de @{Saturne} ?"]
[get-mass-kg-of-concept "Jupiter"] # reusable

Un seul modèle de langage, quatre rôles distincts, zéro pipeline d'intégration. C'est ce qui fait de VVL un langage neuro-symbolique — et non un wrapper d'API.

— Algèbre neuronale —

Les vingt opérateurs sémantiques

Activés par l'opérande [§ "…"], ce sont les mêmes opérateurs que sur les nombres — c'est le type de l'opérande qui les fait basculer. Quatre familles, plus @.

Famille Opérateurs Sortie Exemple → résultat
Comparaisons floues == != < > <= >= BOOLEAN [§ "chat"] == [§ "félin"] → 1
Algèbre conceptuelle + − * / % SEMANTIC / STRING [§ "Paris"] % [§ "pays"] → France
Logique sémantique && || ^^ ~ ? SEMANTIC / STRING $bio ? [§ "année de naissance ?"] → 1912
Appartenance (IS-A) in <| |> BOOLEAN [§ "voiture élec."] <| [§ "véhicule"] → 1
Génération de code @ LAMBDA $data @ [§ "filtrer par âge"] → lambda

Distinction fine : la projection / extrait une dimension déjà contenue dans la description ; la propriété % interroge la connaissance générale du LLM. Les résultats sémantiques se composent comme de l'arithmétique.

— Déterminisme —

Le coût de l'IA paie une fois

Comment un système probabiliste devient-il aussi fiable qu'un opérateur natif ? Par quatre garanties intégrées au moteur — pas laissées au développeur : (1) typage de sortie automatique (on ne parse jamais une chaîne), (2) cache déterministe persistant sur disque — même expression, même résultat dans toutes les sessions, coût API → 0 et tests reproductibles, (3) retry validé jusqu'à succès, (4) spécifications XML few-shot. Sans le typage il faudrait parser ; sans le cache la latence serait prohibitive ; sans le retry la moindre variation du modèle casserait le programme. C'est l'ensemble qui distingue VVL d'un simple wrapper.

— Le versant symbolique —

Du neuronal au raisonnement garanti

Le même langage embarque le versant symbolique : raisonnement déductif garanti, schémas typés et optimisation prouvée. Les concepts réifiés deviennent les opérandes de cette algèbre — c'est le pont neuro-symbolique.

Base Prolog

facts · rules · query

Une base de connaissances déductive intégrée. Les objets s'y injectent (obj-assert) ; les inférences sont garanties, pas approximées.

Système ontologique

ontology:*

Schémas typés, règles métier en cascade, et mondes possibles (fork d'ontologie) pour raisonner sous hypothèses.

Opérateurs Zalta

== ~~ · * ** · + ++ · / //

Huit opérateurs (4 opérations × 2 modes symbolique/hybride) : une véritable algèbre sur les concepts, gratuite une fois les propriétés chargées.

Solveur CP-SAT

OR-Tools · NL → modèle

VVL expose CP-SAT avec une syntaxe conceptuelle (décisions typées, contraintes dures et molles). Une intention en français devient un modèle à l'optimalité prouvée.

— Comparaison —

VVL face à Python + LangChain

CritèrePython + LangChainVVL
Le LLM comme opérateur du langageAppels d'API à parserNatif (20 opérateurs)
Pipeline extraction → enrichissement → décision~500 lignes~40 lignes
Code généré par LLM, validé et exécutableÀ valider soi-même@ : parser + sandbox + retry
Compilation NL → solveur de contraintesPas natifCP-SAT, optimalité prouvée
Cache sémantique persistant (coût → 0)À implémenterIntégré
Pont LLM ↔ Prolog ↔ objetTriple intégrationPremière classe
Mondes possibles (fork d'ontologie)Manuelontology:*

Un serveur IA unique, piloté par un langage dont le paradigme est conçu pour lui. C'est la différence entre intégrer l'IA et programmer avec elle.

❦ ❦ ❦