Ctrl K
ComunidadGuías…
GITHUB · ANALIZADO

bendc

bendc es un compilador autocontenido para el lenguaje Bend 2, escrito en Bend 2 mismo. Compila y ejecuta programas Bend 2 directamente desde archivos de texto, sin necesidad de un entorno de ejecución externo.

Ficha actualizada 22 sept 2026, 21:25 · upstream 22 sept 2026, 20:32 · release sin release detectada

Ver códigoProblemas y ayudaRepositorio ↗
00

Qué es bendc

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

Bendc es un compilador autocontenido (self-hosting) diseñado para compilar y ejecutar programas del lenguaje Bend 2. Diferente a los compiladores tradicionales que requieren un entorno de ejecución externo como el runtime 'bend', bendc genera su propio binario desde cero mediante una cadena de compilación iterativa. El proyecto fue escrito en el mismo lenguaje Bend 2, lo que permite una verificación formal del código generado y garantiza consistencia entre la entrada (Bend) y la salida (C). El proyecto se encuentra bajo licencia MIT.

CASOS DE USO
  • Desarrollo de software Bend 2 sin necesidad de instalar un entorno de ejecución externo
  • Entornos aislados o aisladores donde no es posible ejecutar el runtime bend estándar
  • Pruebas unitarias que requieren compilar y ejecutar programas Bend 2 directamente desde archivos de texto
  • Entornos con restricciones de memoria o recursos donde se prefiere un compilador ligero
PUNTOS DESTACADOS
  • Compilación completa en un solo archivo: bendc.bend contiene todo el código fuente (aproximadamente 4.600 líneas) y genera el binario final
  • Genera un runtime propio (rt/bendrt.h, ~520 líneas) que implementa todos los tipos de datos y operaciones del lenguaje Bend 2
  • Compilación iterativa: bendc.bend → stage1.c → stage2.c, donde cada compilador se compila a sí mismo
  • Soporte completo para el modelo de monads (IO, Maybe, Result) con soporte para monad personalizadas como Parser y Gen
  • Genera código C estándar compatible con clang mediante un runtime ligero que no depende de librerías externas
  • Compilación de patrones complejos: closures, currying, parcialización, match expressions, tipos dependientes
PRECAUCIONES
  • No tiene sistema de verificación de tipos (no realiza análisis de tipos), por lo que se recomienda usar bend --check-only para detectar errores
  • No soporta GPU ni compilación paralela
  • El tipo Nat es un entero de 64 bits, sin gestión automática de memoria
  • No implementa importaciones globales (hub imports)
  • La compilación se realiza secuencialmente; no hay optimizaciones intermedias entre fases
01

Perfil de infraestructura

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

CPU4 vCPUrecomendación inicial
MEMORIA8 GBRAM estimada
DISCO10 GBalmacenamiento base
COMPLEJIDADlownivel de operación
02

Despliegue detectado

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

Despliegue manual

Para desplegar bendc, basta con ejecutar `make bootstrap` en un entorno Linux o macOS. El proyecto requiere un C compiler como clang y una instalación de Bend (incluyendo base.bend). No se recomienda el uso de Docker para este proyecto ya que no incluye docker-compose ni dockerfile oficial. Se puede compilar directamente desde la raíz del repositorio con `make`. Para pruebas, ejecutar `./run_tests.sh build/stage1` en cualquier entorno con bendc compilado.

—Dockerfile
—Compose
—One-click
03

Stack y dependencias

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

FRAMEWORKS
Node.jsPython
SERVICIOS
No detectados
BASES DE DATOS
No detectadas
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.