SmirnovLang

Современный язык программирования с инновационными возможностями

✅ SQL-запросы ✅ Контракты ✅ 100+ функций
hello.smirnov
// Hello World на SmirnovLang
fn main() {
    let greeting = "Привет, SmirnovLang!";
    println(greeting);
}

Уникальные возможности

🔍

SQL-подобные запросы

SELECT, WHERE, ORDER BY прямо в коде. Фильтрация данных без лишних библиотек.

let adults = select * from users 
              where age > 18
📜

Контракты

require, ensure с авто-исправлением. Гарантии корректности кода.

fn divide(a, b)
  require b != 0, "Cannot divide by zero"
{ return a / b; }
⏱️

Time Travel

Отладка с путешествиями во времени. Записывай состояния и возвращайся назад.

timeTravel("record");
timeTravel("rewind");
📦

Data Versioning

commit, rollback, history. Версионирование данных встроенное.

commit(data, "v1");
let restored = rollback("v1");
🔧

100+ функций

map, filter, reduce, и ещё 97+ функций. Всё встроенное, ничего качать не нужно.

data 
  |> filter(x => x > 0)
  |> map(x => x * 2)
  |> sum()
🧪

Тестирование

Встроенное assert. Писать тесты так же просто, как писать код.

assert(add(2, 3) == 5, 
       "2 + 3 should be 5");

Примеры кода

pipeline.smirnov
fn main() {
    let numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
    
    // Pipeline-выражения
    let result = numbers
        |> filter(x => x % 2 == 0)
        |> map(x => x * 2)
        |> sum();
    
    println("Sum of doubled evens:", result);
    // Output: Sum of doubled evens: 60
}
pattern.smirnov
fn describeNumber(n: int) -> string {
    match n {
        0 -> "zero",
        1 -> "one",
        2 -> "two",
        _ -> "many"
    }
}

fn main() {
    let desc = describeNumber(5);
    println("5 is:", desc);
}
quantum.smirnov
fn main() {
    // Создаем суперпозицию состояний
    let quantumState = quantum(42, "hello", 3.14);
    
    // Наблюдаем (коллапсируем)
    let observed = observe(quantumState);
    println("Observed:", observed);
}

Начните сейчас

Установите SmirnovLang на свой компьютер

🪟

Windows

Скомпилируйте из исходников

GitHub

Visual Studio 2019+ или MinGW

🐧

Linux

Скомпилируйте из исходников

GitHub

CMake 3.15+ и C++20

🍎

macOS

Скомпилируйте из исходников

GitHub

Xcode 13+ или Clang 13+

Быстрый старт

# Windows (PowerShell)
mkdir build
cd build
cmake .. -DCMAKE_BUILD_TYPE=Release
cmake --build . --config Release

# Запуск примера
.\Release\smirnovLang.exe examples\hello.smirnov