Ctrl K
ComunidadGuías…
GITHUB · ANALIZADO

Admiran

Admiran es un lenguaje y compilador funcional puro, lazy y autocontenido que se ejecuta en su propio entorno de ejecución (self-hosting). Se basa en Miranda original con características adicionales de Haskell.

Ficha actualizada 23 sept 2026, 12:37 · upstream 23 sept 2026, 12:24 · release v3.1

Ver códigoProblemas y ayudaRepositorio ↗
00

Qué es Admiran

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

Admiran es un lenguaje funcional puro, evaluado por necesidad (lazy), diseñado como un compilador autocontenido que puede ejecutarse sin dependencias externas. Su arquitectura se inspira en Miranda pero incorpora mejoras significativas: sistema monadic IO basado en el patrón de streams, operadores infix personalizados, expresiones case estrictas, wildcards en patrones, nombres de módulos con o sin prefijo, tipos subexplicados (underscores), y un runtime compactante de 2 generaciones. El compilador se construye desde cero mediante un pipeline completo: tokenización → desuguración a AST simplificado → análisis multi-paso → inferencia de tipos H-M → optimización multi-pass → generación de IR en STG → compilación final.

CASOS DE USO
  • Ejecución de código funcional puro sin dependencias externas
  • Demostración del pipeline completo de compilación (tokenización, análisis, optimización, generación de ASM)
  • Estudio de lenguajes funcionales y su arquitectura interna
  • Generación de código binario para sistemas operativos con soporte a AMD64 o ARM64
  • Implementación de algoritmos complejos como árboles AVL, búsqueda A* y BFS en un entorno controlado
PUNTOS DESTACADOS
  • Compilador autocontenido (~7000 líneas) que genera ASM desde el tokenizador hasta la ejecución final
  • Genera código binario 20-50x más eficiente que Miranda original mediante optimizaciones multi-pass (inlining, dead-code elimination)
  • Sistema de tipos H-M bidireccional con soporte para recursión polimórfica explícita
  • Runtime compactante de 2 generaciones que reduce el uso de memoria en aplicaciones interactivas
  • Soporte nativo para AMD64 y ARM64 (x86-64) mediante compilación desde ASM
  • Diseño modular con múltiples módulos independientes que se fusionan programáticamente
PRECAUCIONES
  • Solo ejecutable en macOS o Linux x86-64 (o Rosetta 2 para Apple Silicon)
  • No tiene soporte nativo para Windows, Android o iOS
  • El runtime compactante de 2 generaciones puede consumir memoria adicional en aplicaciones interactivas
  • La generación de ASM requiere un compilador C externo que no está incluido en el repositorio
  • No incluye herramientas de depuración (debuggers) ni ejecución en entornos multiplataforma
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 ejecutar Admiran, se debe compilar el archivo amcBoot usando el bootstrap compiler y luego construir el compilador completo con `make`. Se recomienda añadir la carpeta bin al PATH. Para distribuir, se pueden generar archivos .x2 para módulos individuales o fusionar todo en un solo ejecutable. El runtime requiere un compilador C externo (GCC/Clang) que se incluye automáticamente durante la compilación de Admiran.

—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
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.