Blorp — новый язык программирования, который позиционируется как «низкопороговый, высокопроизводительный язык для кода, которому можно доверять». Его цели зашиты прямо в код: уверенность (за счёт чистых функций и явных эффектов), скорость (через нативный код и структурированную конкурентность), доступность (маленький синтаксис и прямой контроль потока) и долговечность (типизированные сбои, безопасные границы).
Синтаксис Blorp строится на отступах, ключевых операторах и вызовах в стиле методов. Он использует строгую статическую типизацию, проверку импортов, явную «падательность» и исчерпывающий match. Чистые функции (pure func) отделяют детерминированную логику от кода с вводом-выводом. Семантика значений — присваивание ведёт себя как независимая копия, но ARC и COW (Copy-on-Write) оптимизируют совместное использование. Опциональные значения (Option, Result), match и оператор ?= встраивают неопределённость прямо в типы. Задачи, таймауты и каналы делают конкурентность предсказуемой. Компилятор проверяет границы массивов, векторов и матриц на этапе компиляции.
Бенчмарки с M4 MacBook Air показывают, что Blorp уже очень близок к C по скорости, часто обгоняя Go и Python с большим отрывом. Например, numeric_loop: Blorp — 0.1242 с, C — 0.1215 с, Go — 0.1726 с, Python — 5.1754 с. fib: Blorp — 0.1979 с, C — 0.1970 с. По array_sum Blorp вдвое медленнее C (0.0011 против 0.0005), но всё равно в 4 раза быстрее Go и в 87 раз быстрее Python. На mandelbrot Blorp даёт 0.0020 с против 0.0021 с у C — практически идентично, а Go проигрывает почти в 10 раз. Есть и тесты, где Blorp выигрывает у C — channel_pipeline (0.0262 против 0.0345) и sleep_fanout (0.0084 против 0.0118). В set_ops Python вдруг быстрее самого Blorp (0.2332 против 0.2573), но это скорее исключение, подтверждающее правило.
Ключевая техническая деталь: Blorp компилируется в C через промежуточное представление Core IR. Исходный код сначала проверяется статической типизацией и выводом типов в стиле Хиндли-Милнера, а затем код преобразуется в C, который уже компилируется в нативный бинарник. Управление памятью строится на Perceus-анализе (dup/drop и reuse) с рантайм-подсчётом ссылок, что сохраняет семантику исходного кода.