Ctrl K
ComunidadGuías…
GITHUB · ANALIZADO

flang

flang — язык функционального программирования, написанный словами. Функция несет примеры и утверждения о результате; компилятор проверяет завершаемость до запуска. Генерирует проверенный код в C, C++, Go, Rust, Java, JavaScript, Elixir, Python или C#.

Ficha actualizada 22 sept 2026, 18:28 · upstream 22 sept 2026, 18:22 · release v0.7.21

00

Qué es flang

Descripción editorial construida a partir del repositorio, su documentación y sus señales de mantenimiento.

flang — это язык функционального программирования с строгим статическим типингом, написанный на словах вместо символов. В функции хранятся примеры и утверждения о результате; компилятор проверяет завершаемость файла до запуска. flang emit генерирует проверенный код в C99, C++, Go, Rust, Java, JavaScript, TypeScript, Elixir или Python. Компилер написан на самом языке, поэтому сборка требует только компилятора C и make.

Два слова несут обещания: «тотальная» перед функцией гарантирует завершение на любом входе; компилятор доказывает это с помощью структурного десанта или объявленной меры. Слово «обеспечивает» описывает постусловие — компилятор закрывает его над всеми входами, где он применим, и говорит, что не применился.

Синтаксис написан на русском языке (модуль, функция, принимает, обеспечивает, пример), но есть английская поверхность для lexing. Идентификаторы в кавычках — «Место вставки» — принадлежат их владельцу и не переводятся.

Сборка требует только C99 компилятор и make. Все три способа (brew, asdf, git clone) дают один и тот же бинарник с рунтаймами под каждым целевым языком.

CASOS DE USO
  • Проверка корректности программ на этапе компиляции без выполнения
  • Генерация проверенного кода в C/C++/Go/Rust для интеграции с существующими системами
  • Обучение и демонстрация функционального программирования через примеры
  • Создание тестовых программ, где компилятор проверяет завершаемость перед выполнением
  • Разработка системных инструментов (компиляторы, фреймворки) с гарантией корректности
  • Обучение и демонстрация языка программирования в образовательных целях
PUNTOS DESTACADOS
  • Компилятор проверяет завершаемость до запуска — это единственная гарантия безопасности
  • Два слова несут обещания: «тотальная» гарантирует завершение, «обеспечивает» описывает постусловие
  • Проверка завершаемости независима от компилятора и выполняется на уровне языка
  • Компилятор генерирует код в 10 целевых языках (C, C++, Go, Rust, Java, JS, TS, Elixir, Python, C#)
  • Синтаксис написан на русском языке с поддержкой английского lexing для совместимости
  • Проверка завершаемости независима от компилятора и выполняется на уровне языка
PRECAUCIONES
  • Не поддерживает состояние во времени, побочные эффекты и параллелизм — язык не имеет места для таких утверждений
  • База знаний компилятора растет: 5068 строк в августе 2026 года, цель — под 4000 строк
  • Не подходит для медицины, авиации или космоса из-за отсутствия сертификации на аппаратное обеспечение и доказанного поведения при отказе
  • Проверка завершаемости не гарантирует безопасность от ошибок ввода (например, NaN) без дополнительных ограничений типа BoundOnNaN
  • Отсутствие формальной гарантии безопасности: компилятор проверяет только завершаемость, а не корректность по отношению к данным
01

Perfil de infraestructura

Estimación inicial derivada del repositorio y de los servicios detectados.

CPU2 vCPUrecomendación inicial
MEMORIA2 GBRAM estimada
DISCO30 GBalmacenamiento base
COMPLEJIDADmediumnivel de operación
02

Despliegue detectado

Qué señales reales de instalación hemos encontrado.

Despliegue manual

Сборка flang требует C99 компилятора и make. Для macOS используйте Homebrew: brew install digitable-lol/tap/flang. Для Linux установите через apt или pip. Используйте asdf для управления версиями: asdf plugin add flang https://github.com/digitable-lol/asdf-flang.git, затем asdf install flang latest. После сборки выполните make -C bootstrap install (или PREFIX=$HOME/.local без sudo). Для разработки используйте flang repl или flang lsp --stdio для интерактивного взаимодействия с компилятором.

—Dockerfile
—Compose
—One-click
03

Stack y dependencias

Componentes inferidos a partir de manifests, configuración y documentación.

FRAMEWORKS
Next.jsNode.jsGoRustPython
SERVICIOS
PostgreSQLRedis
BASES DE DATOS
PostgreSQLRedis
PUERTOS
No detectados
05

Puede sustituir a

Relaciones detectadas por el análisis del repositorio y su categoría.

06

Experiencia real de la comunidad

Ayuda a contrastar la estimación automática con instalaciones reales.

Todavía no hay datos comunitarios para este proyecto.