Современный язык программирования с инновационными возможностями
// Hello World на SmirnovLang
fn main() {
let greeting = "Привет, SmirnovLang!";
println(greeting);
}
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; }
Отладка с путешествиями во времени. Записывай состояния и возвращайся назад.
timeTravel("record");
timeTravel("rewind");
commit, rollback, history. Версионирование данных встроенное.
commit(data, "v1");
let restored = rollback("v1");
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");
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
}
fn describeNumber(n: int) -> string {
match n {
0 -> "zero",
1 -> "one",
2 -> "two",
_ -> "many"
}
}
fn main() {
let desc = describeNumber(5);
println("5 is:", desc);
}
fn main() {
// Создаем суперпозицию состояний
let quantumState = quantum(42, "hello", 3.14);
// Наблюдаем (коллапсируем)
let observed = observe(quantumState);
println("Observed:", observed);
}
Установите SmirnovLang на свой компьютер
# Windows (PowerShell)
mkdir build
cd build
cmake .. -DCMAKE_BUILD_TYPE=Release
cmake --build . --config Release
# Запуск примера
.\Release\smirnovLang.exe examples\hello.smirnov