Ctrl K
ComunidadGuías…
GITHUB · ANALIZADO

blaise

Blaise es un compilador de Pascal moderno y autocontenido para el ecosistema del año 2020s. Elimina décadas de legado, ofrece memoria segura con contadores de referencia automática (ARC), soporte nativo UTF-8 y una arquitectura unificada sin dependencias externas.

Ficha actualizada 22 sept 2026, 18:27 · upstream 22 sept 2026, 16:22 · release v0.14.0

Ver códigoProblemas y ayudaRepositorio ↗
00

Qué es blaise

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

Blaise reimagina la experiencia de Pascal eliminando la complejidad acumulada durante tres décadas. Su enfoque central es la productividad del desarrollador, la seguridad en memoria y el rendimiento alto. A diferencia de Delphi (propiedad de Embarcadero) o Free Pascal (con múltiples modos de lenguaje), Blaise ofrece un solo modo de lenguaje mantenido con calidad superior. El sistema de tipos incluye un único tipo de string basado en UTF-8 con conteo de referencia automático, y el modelo de memoria es unificado donde tanto TObject como TInterfacedObject comparten contadores de referencia automáticos. La interfaz de programación de aplicaciones (API) se define mediante vtables compilados a tiempo de enlace, eliminando la necesidad de GUIDs COM. Los generadores de tipos son reificados: la monomorfización ocurre en el momento del compilado sin erasure de tipos.

CASOS DE USO
  • Desarrollo de software en Pascal moderno con soporte nativo para x86-64 y FreeBSD
  • Aplicaciones que requieren memoria segura y gestión automática de recursos
  • Entornos de desarrollo autocontenido sin dependencias externas ni compiladores legacy
  • Desarrollo de microservicios y aplicaciones distribuidas con soporte de fibras (async/fibre)
  • Desarrollo de sistemas de notas y documentación web (ej. Luhnmann) sobre HTTP
PUNTOS DESTACADOS
  • Compilador completamente autocontenido que se ejecuta desde el binario del propio compilador, eliminando la necesidad de FPC o Delphi
  • Soporte nativo para x86-64 y FreeBSD con un solo modo de lenguaje sin necesidad de switches como {$mode}
  • Arquitectura unificada: solo un tipo de string (UTF-8 con conteo de referencia) y un modelo de memoria común entre TObject y TInterfacedObject
  • Generadores de tipos reificados que realizan la monomorfización en tiempo de compilación, eliminando el erasure de tipos
  • Soporte de depuración nativa a través del formato OPDF (OPDF Debugger Format) como estándar, sin necesidad de DWARF
  • Sistema de pruebas con 4977+ tests que se ejecutan en CI sobre Linux y FreeBSD
PRECAUCIONES
  • No soporta Windows ni macOS nativamente; el soporte para estos sistemas operativos está programado pero no implementado
  • El backend QBE es opt-in mediante la flag --backend qbe, lo que añade una capa adicional de configuración al proyecto
  • La compilación del backend vendored QBE requiere un compilador C externo (gcc o clang) para generar y enlazar el código fuente vendorado
  • No incluye herramientas de migración automática a Pascal moderno desde FPC/Delphi, aunque existe una herramienta externa disponible
01

Perfil de infraestructura

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

CPU1 vCPUrecomendación inicial
MEMORIA1 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 Blaise, se recomienda ejecutar la cadena de compilación desde un binario previamente descargado del repositorio releases/. El proceso de bootstrap se realiza con un único comando que compila el RTL desde fuente. Para producción, se puede utilizar PasBuild para ejecutar todo el ciclo de compilación y pruebas en una sola línea: pasbuild compile -m blaise-compiler --compiler compiler/target/blaise y pasbuild test -m blaise-compiler --compiler compiler/target/blaise. Se recomienda mantener un binario actualizado del compilador como punto de partida, ya que cada nueva versión genera nuevos archivos de objeto que deben ser reproducidos en el entorno de desarrollo.

—Dockerfile
—Compose
—One-click
03

Stack y dependencias

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

FRAMEWORKS
Next.js
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.