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
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.
- 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
- 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
- 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
Perfil de infraestructura
Estimación inicial derivada del repositorio y de los servicios detectados.
Despliegue detectado
Qué señales reales de instalación hemos encontrado.
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.
Stack y dependencias
Componentes inferidos a partir de manifests, configuración y documentación.
Puede sustituir a
Relaciones detectadas por el análisis del repositorio y su categoría.
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.