Язык программирования Lexica
- Введение
Lexica – это современный язык программирования, созданный для:
✅ Простоты (минималистичный синтаксис, читаемость)
✅ Обработки текста (регулярки, парсинг JSON/XML/CSV из коробки)
✅ API-разработки (встроенные HTTP-клиенты, автопарсинг ответов)
Философия:
"Код должен быть понятным, а интеграция с внешними сервисами – тривиальной."
- Уникальные особенности Lexica
📌 Чистый и лаконичный синтаксис
Без лишних символов (скобки {}, ; – не нужны)
Отступы вместо блоков (как в Python, но с улучшениями)
Конвейерные операции (|>) для удобной обработки данных:
"hello" |> uppercase |> replace("L", "X") // "HEXXO"
📌 Встроенная работа с текстом
Регулярные выражения как объекты 1-го класса:
matches = "123 abc".scan(r"\d+") // ["123"]
Парсинг JSON/XML/CSV без импортов:
data = parse_json('{"name": "Alice"}')
📌 API – как родная часть языка
HTTP-запросы без библиотек:
response = GET "https://api.example.com" with headers {"Auth": "key"}
Автоматическая обработка ошибок:
try GET "..." catch HTTPError => print("Ошибка!")
📌 Функциональные возможности
Лямбда-функции через =>:
numbers.map(x => x * 2)
Иммутабельность по умолчанию (опционально).
- Примеры кода
📌 Работа с API
// GET-запрос + автоматический парсинг JSON
data = GET "https://api.github.com/users/octocat" |> parse_json()
// POST-запрос с телом
response = POST "https://api.example.com/login"
with body {"user": "admin", "pass": "123"}
with headers {"Content-Type": "application/json"}
📌 Обработка текста
text = "У меня 5 яблок и 3 груши"
// Извлечь числа
numbers = text.scan(r"\d+") // ["5", "3"]
// Форматирование
formatted = f"Фруктов: {numbers.join(', ')}"
📌 Функциональный стиль
// Фильтрация и преобразование
users = [{"name": "Alice", "age": 25}, {"name": "Bob", "age": 30}]
adults = users.filter(u => u.age >= 18).map(u => u.name) // ["Alice", "Bob"]
- Почему Lexica?
🔹 Меньше кода – больше смысла.
🔹 Не нужно подключать библиотеки для базовых задач (HTTP, JSON, regex).
🔹 Идеален для:
Веб-скрапинга
Автоматизации работы с API
Обработки текстовых данных (логи, парсинг)