— езикът —

Език VVL

Хомоиконен Lisp синтаксис. 879 вградени. Двадесет семантични оператора. Нервното и символното съжителстват първокласно.

Изпробвайте VVL онлайн Пълен справочник
— Златното правило —

Всичко е команда в скоби

Едно синтактично правило — [команда аргументи…] — важи навсякъде: изчисление, клас, мрежово извикване, заявка към LLM. Кодът е данни: списък се изчислява или се цитира с обратен апостроф, за да се обработва като синтактично дърво.

~ основен синтаксис ~
# 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
❦
— LLM не е API, той е езикът —

Четири роли, нула конвейер

LLM не е външна услуга: той е оператор на езика. Семантичният операнд [§ "..."] (тип VVL_Semantic) превключва същия диспечер от аритметичен в невро-символен режим: [§ "котка"] == [§ "котешко"] връща 1. Четири семейства, плюс @.

1 · opérateur

Оператор [§ "…"]

Семантичният операнд превключва същия диспечер от аритметичен към невро-символен режим. Типизиран резултат: булев, низ или концепт.

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

Генератор @

Описание поражда VVL ламбда, проверена от парсера и изпълнена в пясъчник (бял списък от функции). LLM мисли веднъж, кодът работи N пъти.

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

Обект [@ "име"]

Име на концепт се материализира във формален обект (Zalta). Ядро от свойства при инициализация, мързеливо дооткриване после, триетажен кеш → намаляваща цена.

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

Компилатор §§ / generic

§§ компилира въпрос на естествен език в програма на VVL, изпълнява я и връща резултата. generic я индустриализира в именуван, тестван и съхранен keyword — използваем върху други концепти.

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

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

Един езиков модел, четири различни роли, нула интеграционен конвейер. Точно това прави VVL невро-символен език, а не обвивка около API.

❦
— Невронна алгебра —

Двадесетте семантични оператора

Активирани от операнда [§ "…"], това са същите оператори както върху числа — типът на операнда ги превключва. Четири семейства плюс @.

Семейство Оператори Изход Пример → резултат
1 · Размити сравнения — булева стойност, използваеми в if/filter == != < > <= >= BOOLEAN [§ "котка"] == [§ "котешко"] → 1
2 · Концептуална алгебра — аритметика върху понятия (семантичен / стрингов резултат) + − * / % SEMANTIC / STRING / APPROX [§ "Париж"] % [§ "държава"] → Франция
3 · Семантична логика — съставни концептуални изрази && || ^^ ~ ? SEMANTIC / STRING $bio ? [§ "година на раждане?"] → 1912
4 · Принадлежност и включване — релацията IS-A първокласно (булева стойност) in <| |> BOOLEAN [§ "ел. кола"] <| [§ "превозно средство"] → 1
+ · Генериране на код — хомоиконната кулминация (подробно по-долу) @ LAMBDA $data @ [§ "филтрирай по възраст"] → lambda

Фино разграничение: проекцията / извлича измерение, вече съдържащо се в описанието; свойството % пита общите знания на LLM. Семантичните резултати се композират като аритметика. Проектирана върху скала ([§ ["ниско" "средно" "високо"]]), / връща оценка: калибрирана позиция с нейната увереност.

❦
— Система 1 / Система 2 —

Решавай бързо, разсъждавай при нужда

С [semanticMode "jev"] типизираните решения първо отиват при Jev (TypeSafe AI) — модел, който не пише текст, а решава (да/не, избор, позиция върху скала) с калибрирана увереност, за около 0,4 с. Ако се колебае (увереност под прага, по подразбиране 0,8), LLM поема. Същият синтаксис, същият кеш; всяко решение се записва в semantic.log (раздел Semantic на :log).

[semanticMode "jev"]
[§ "a trumpet"] == [§ "a refrigerator"]         # → 0   (Jev, 0.4 s)
[match [§ $ticket]
    [§ "Payments, refunds"]  "billing"
    [§ "Bugs, outages"]      "technical"
    "escalade"]                                   # branch chosen by meaning
([§ $review] / [§ ["calm" "annoyed" "angry"]])   # → <approx: 1.99 [high]>
[fuzzy:degree [§ $mail] "spam"]                  # → 0.98

Оператори и match

== in <| · match · tables

Логическите оператори винаги връщат 1/0. [match] върху [§ …] избира клона по смисъл; с кортежи става таблица за решения: един въпрос на колона, едно извикване.

Оценка и размити степени

/ scale · fuzzy:degree(s)

Проектиран върху скала, / връща калибрирана позиция (Approximation). [fuzzy:degrees] измерва няколко степени с едно извикване, готови за ~& и fuzzy:very.

Онтологии и Zalta

fromText · ~~

Jev избира подкласа на извлечен обект и съпоставя стойностите от затворен списък; сходството ~~ в правилата решава всички двойки с едно извикване.

Рутер, агент, архитект

[§§] · [agent] · [architect]

Рутерът [§§] класифицира въпрос за около 0,4 с; съдията на [agent] казва „да“ без извикване на LLM; [architect] проверява стъпките си със степен, а не с цикъл на агент.

❦
— Детерминизъм —

Цената на ИИ се плаща веднъж

Как една вероятностна система става толкова надеждна, колкото нативен оператор? Чрез четири гаранции, вградени в двигателя, а не оставени на разработчика: (1) автоматично типизиране на изхода (никога не парсвате низ), (2) детерминиран кеш на диска — един израз, един резултат във всички сесии, цена на API → 0 и възпроизводими тестове, (3) валидиран повторен опит до успех, (4) XML спецификации few-shot. Без типизиране би трябвало да парсвате; без кеша латентността би била прекомерна; без повторния опит и най-малкото отклонение на модела би счупило програмата. Именно съвкупността отличава VVL от обикновена обвивка.

❦
— Символната страна —

От невронното към гарантирано разсъждение

Същият език носи символната страна: гарантирано дедуктивно разсъждение, типизирани схеми и доказана оптимизация. Реифицираните концепти стават операнди на тази алгебра — това е невро-символният мост.

База Prolog

facts · rules · query

Вградена дедуктивна база от знания. Обектите се инжектират в нея (obj-assert); изводите са гарантирани, а не приближени.

Онтологична система

ontology:*

Типизирани схеми, каскадни бизнес правила и възможни светове (форк на онтология) за разсъждение при допускания. В режим jev подкласът на извлечен обект и стойностите му от затворен списък се решават от Jev.

Оператори Zalta

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

Осем оператора (4 операции × 2 режима символен/хибриден): истинска алгебра върху концепти, безплатна след зареждане на свойствата. Сходството ~~ за нетривиални стойности минава през Jev: всички двойки с едно извикване.

Релационен miniKanren

run-all · predicate · ==

Релации, а не функции: една дефиниция се решава във всички посоки. Пълно търсене с преплитане, ограничения (distinct, символен CLP) и вероятностен режим в духа на ProbLog.

Доказателства и договори

proof:auto · contract:verify

Ядро решава пропозиции и отговаря proved, refuted или unknown — но не и правдоподобно «да». За функция под договор require ⇒ ensure се проверява статично, без да се изпълнява.

Байесова диагностика

bfacts · diagnose

Всяка клауза носи бета-убеждение, а не булева стойност. Когато наблюдение противоречи на базата, двигателят изчислява минималните конфликти и подрежда заподозрените по цена на отзоваване.

Решател CP-SAT

OR-Tools · NL → modèle

VVL предоставя CP-SAT с концептуален синтаксис (типизирани решения, твърди и меки ограничения). Намерение на естествен език става модел с доказана оптималност.

❦
— Смарт договори —

Състояние, което се доказва и се изпълнява отново

Един [keyword], чийто [contract] посочва регистър, става смарт договор: всяко извикване е транзакция, записана в подписан блок, свързан във верига. Условията на договора се доказват преди изпълнението, проверяват се при всяко извикване, а цялата история се изпълнява отново — всичко това в самия език, без външен блокчейн.

[keyword transfer
    [contract
        [args from to [amount :type Integer :min 1]]
        [ledger bank]
        [state [src "account:{from}" :required] [dst "account:{to}" :required]]
        [require "amount <= src"]
        [ensure  "src + dst = old(src) + old(dst)"]]
    [do [state:put src ([state:get src] - @3)]
        [state:put dst ([state:get dst] + @3)]]]

[contract:verify transfer].status        # → "proved"   (for every state)
[transfer "alice" "bob" 30]              # → one signed block
[transfer "alice" "bob" 500]             # → refused, nothing written
[ledger:verify bank].ok                  # → 1   (chain, signatures, full replay)

Състояние & условия

state · require · ensure · old()

[state] декларира слотовете на договора; [require] се отнася до състоянието преди, [ensure] — до състоянието след, а old(x) свързва двете. Неизпълнено условие отменя транзакцията: всичко или нищо.

Доказване, след това повторно изпълнение

contract:verify · ledger:verify · ledger:proof

[contract:verify] доказва договора за всички състояния чрез символно изпълнение. [ledger:verify] изпълнява отново всяка транзакция с оригиналния код; [ledger:proof] доказва стойност без сървъра.

Класове & оракули

class [ledger …] · oracle

Клас, обвързан чрез [ledger име :key …]: обектът е състоянието, методът е транзакция. [oracle] записва в блока отговора на LLM, който придобива доказателствена сила и никога не се извиква отново при повторното изпълнение.

С доказателствена сила & разпределен

ledger:anchor · ledger:follow · ledger:finality

Закотвяне на върха на веригата при трета страна (времеви печат RFC 3161, Bitcoin). Реплики от клъстера изпълняват отново всеки блок, удостоверяват какво са проверили ([ledger:finality]) и откриват пренаписана история.

❦
— Изпълнение —

Интерпретиран, компилиран, после разпределен

Един и същи код минава от интерпретатора към нативна виртуална машина, а после към няколко машини — без да бъде пренаписван. Решава не настройка, а проверимо свойство на кода: неговата чистота.

Нативна ВМ

[compile] · .run · .coverage

Кодът се компилира към Rust ВМ и остава инспектируем: междинно представяне, байткод и най-вече покритие — какво върви нативно и какво минава през хоста.

Гореща компилация

[jit] · [vectorize]

Ламбда, станала «гореща», се компилира автоматично след N извиквания. Прагът се чете и задава с една команда; векторизиращото ниво на map се превключва без рестарт.

Изчислителен клъстер

cluster:register · cluster:map

Затворена и чиста функция се адресира по своя SHA-256 и се изпълнява на персистентни шардове върху няколко инстанции. Което не се компилира, не се разпространява: детерминизмът е условие, не надежда.

❦
— Сравнение —

VVL срещу Python + LangChain

КритерийPython + LangChainVVL
LLM като оператор на езикаAPI извиквания за парсванеНативно (20 оператора)
Конвейер извличане → обогатяване → решение~500 реда~40 реда
Код от LLM, проверен и изпълнимСами да валидирате@: парсер + пясъчник + повтор
Компилация NL → решател на ограниченияНе е нативноCP-SAT, доказана оптималност
Постоянен семантичен кеш (цена → 0)Трябва да се имплементираВградено
Мост LLM ↔ Prolog ↔ обектТройна интеграцияПърви клас
Възможни светове (форк на онтология)Ръчноontology:*

Единен ИИ сървър, управляван от език, чиято парадигма е създадена за него. Това е разликата между интегриране на ИИ и програмиране с него.

❦ ❦ ❦