Skip to content

Releases: victios7/Altair

1.8.5vB

Choose a tag to compare

@victios7 victios7 released this 28 Aug 17:32
3daeb2e

Ninguna nota, próximamente se añadirán notas

1.8.5

Choose a tag to compare

@victios7 victios7 released this 24 Aug 12:03
884e652

1.8.5

Novedades

  • Mejoras de rendimiento.
  • Mejoras de calidad de vida.
  • Añadidos registros de hardware.
  • Optimizaciones y mejoras internas.

Próxima versión

La 1.8.5vB añadirá soporte para punteros directos al disco mediante LBA (Logical Block Addressing).

1.7.5vB_Snapshot

Choose a tag to compare

@victios7 victios7 released this 14 Aug 17:52
8ad00b6

Altair 1.7.5vB

🚀 Nueva versión de Altair — optimizaciones importantes

Altair 1.7.5vB introduce una nueva generación de optimizaciones en el compilador y runtime, mejorando considerablemente el rendimiento en varias cargas de trabajo.

⚠️ Aviso: esta versión todavía está en proceso de estabilización. Estamos teniendo algunos problemas de compatibilidad y empaquetado en algunas plataformas. Los solucionaremos próximamente.

📦 Disponibilidad

Actualmente disponible:

  • 🪟 Windows — .exe
  • 🍎 macOS — .pkg
  • 🐧 Linux — próximamente

La versión para Linux está temporalmente retrasada debido a problemas detectados durante el proceso de empaquetado. Estamos trabajando para solucionarlos y esperamos ofrecerla próximamente.

⚠️ Instalación en Windows

Durante la instalación del .exe, puede parecer que el proceso se queda detenido al llegar al paso de eliminación de MinGW64.

En ese momento:

  1. Abre el Administrador de tareas (Ctrl + Shift + Esc).
  2. Busca el proceso Altair Set Up.
  3. Finaliza la tarea.
  4. Altair ya estará instalado y listo para utilizarse.

⚡ Mejoras

Compilador y runtime

  • ⚡ Importantes optimizaciones del código generado.
  • ⚡ Mejor rendimiento en operaciones numéricas.
  • ⚡ Mejor rendimiento en llamadas a funciones.
  • ⚡ Mejoras en operaciones bitwise.
  • ⚡ Mejoras en concatenación de strings.
  • ⚡ Mejoras en operaciones de entrada/salida.
  • 🔢 Conservación de precisión en literales numéricos.
  • 🧠 Mejoras en el frontend y generación del AST.
  • 💾 Runtime extremadamente ligero.
  • ✅ Mantiene la compatibilidad con las cargas existentes del benchmark.

📊 Benchmark

Benchmark realizado sobre Altair 1.7.5vB, con 3 ejecuciones medidas + 1 de calentamiento.

Carga Compilación mediana Ejecución mediana Ejecución p95 RSS pico
numeric_loop 1540.633 ms 2.757 ms 2.974 ms 148 KB
function_calls 1642.815 ms 2.731 ms 3.551 ms 144 KB
recursion_fib 1574.723 ms 4.029 ms 12.1 ms 1636 KB
list_append_index 1544.376 ms 23.008 ms 24.753 ms 15120 KB
bitwise_loop 1501.680 ms 2.628 ms 2.677 ms 156 KB
string_concat 1494.690 ms 2.479 ms 2.482 ms 156 KB
file_io 1368.273 ms 2.478 ms 2.483 ms 144 KB
numeric_literal_precision 1339.361 ms 2.501 ms 2.595 ms 156 KB

Comparación con C y Python

Carga C mediana Python mediana Altair vB
numeric_loop 2.484 ms 48.619 ms 2.757 ms
recursion_fib 2.638 ms 70.075 ms 4.029 ms

En numeric_loop, Altair vB queda aproximadamente 11 % por encima de C en esta medición y es aproximadamente 17,6× más rápido que Python.

🧪 Correctitud

8/8 cargas del benchmark pasan correctamente.

También pasan las pruebas de:

  • hello
  • game_compile_and_run
  • databock
  • persist
  • pointer2

🔬 Escalabilidad del frontend

Pruebas realizadas con --emit-ast:

Sentencias Líneas Mediana RSS pico
10 20 2.510 ms 144 KB
50 60 4.637 ms 4876 KB
100 110 8.982 ms 10100 KB

Todas las pruebas pasan correctamente.

📊 Benchmarks adicionales

Para consultar benchmarks ejecutados con agentes/procesos y benchmarks ejecutados sin agentes/procesos, visita:

https://github.com/victios7/Altair/tree/main/benchmark

Dentro de la carpeta benchmark encontrarás:

  • El archivo .py utilizado para ejecutar los benchmarks.
  • latest2.md y latest2.json con los resultados de los benchmarks con agentes/procesos.
  • latest.md y latest.json con los resultados de los benchmarks sin agentes/procesos.

Los archivos .md permiten consultar los resultados de forma legible, mientras que los .json contienen los datos en formato estructurado para realizar comparativas o análisis adicionales.

🔮 Próximamente

Estamos trabajando actualmente en:

  • 🐧 Soporte para Linux.
  • 🔧 Corrección de problemas de empaquetado.
  • 🛠️ Corrección de problemas de portabilidad.
  • 📦 Mejoras del proceso de instalación.
  • 🧪 Más pruebas antes de declarar la versión completamente estable.

Gracias por probar Altair 1.7.5vB. Esta versión supone un paso importante en el rendimiento del compilador y seguiremos trabajando para llevar estas mejoras a todas las plataformas.

Punteros!

Choose a tag to compare

@victios7 victios7 released this 27 Jul 20:11
3f5fdd5

Altair 1.7vB — Notas de la versión

🆕 Novedades

Punteros

  • Soporte añadido para punteros en el lenguaje Altair.
  • Permite manejo directo de memoria y referencias a variables.

Compilador (altairc.exe)

  • Mejoras internas en el proceso de compilación.
  • Mayor estabilidad al generar código a partir de fuentes .altair.
  • Correcciones de errores detectados en versiones anteriores.

Instalador

  • Empaquetado y distribución mejorados para Windows (instalador .exe con configuración automática de PATH).
  • Incluye ejemplos (examples/) listos para compilar y ejecutar.

🔜 Próximamente

  • Backend de compilación más ligero en evaluación.

Altair Language — v1.7vB

macOS!

Choose a tag to compare

@victios7 victios7 released this 23 Jul 10:16
47f3679

Altair v1.6.5vC — macOS

Primera build oficial de Altair para macOS, compilada y firmada localmente en un entorno macOS nativo (Apple Silicon, arm64).

Instalación

  1. Descarga Altair-Setup-1.6.5vC.pkg

  2. Haz doble clic para abrir el instalador

    ⚠️ Como el paquete no está firmado con un certificado de Apple Developer, macOS puede mostrar un aviso de "desarrollador no verificado" la primera vez. Para abrirlo: clic derecho sobre el .pkgAbrir, o ve a Ajustes del Sistema → Privacidad y Seguridad y pulsa Abrir de todas formas.

  3. Sigue el asistente — instala altairc en /usr/local/bin

  4. Abre Terminal y prueba:

    altairc --version
    altairc programa.at -o programa
    ./programa

Notas

  • Compatible con macOS en Apple Silicon (arm64). No se ha probado en Mac con Intel.
  • Requiere /usr/local/bin en tu PATH (viene así por defecto en macOS).

Altair v1.6.5vC — Lanzamiento Oficial de Altair Graphics y Soporte Nativo Raylib

Choose a tag to compare

@victios7 victios7 released this 25 Jul 11:12
3f5fdd5

🚀 Altair Lang v1.6.5vC — Raylib Release (Official)

¡La versión v1.6.5vC ya está aquí! Este lanzamiento introduce el soporte oficial y nativo para desarrollo de gráficos 2D y UI mediante la integración directa de Raylib, convirtiendo a Altair en una herramienta potente tanto para sistemas backend de alto rendimiento como para desarrollo de aplicaciones interactivas y videojuegos.

Gracias a las recientes optimizaciones del núcleo, el pipeline de compilación es capaz de procesar 10 millones de operaciones en solo 3 segundos entre compilación y ejecución.

⚠️ Nota importante sobre estabilidad: Al tratarse del lanzamiento inicial de la integración gráfica, el entorno se encuentra en fase activa de pruebas y puede contener errores inesperados. Todo reporte nos ayuda enormemente a mejorar el lenguaje. Si encuentras algún comportamiento extraño o fallo en el compilador, por favor repórtalo en nuestra comunidad:
📌 Canal de reportes: Altair Community - Foro y Soporte


🎨 Novedades principales: Gráficos Nativos

Olvídate de configurar pesados entornos de C++ o enlazar librerías dinámicas a mano. El compilador altairc ahora implementa un analizador semántico (sema.c) y generador de código (codegen.c) que detecta automáticamente el enlace de gráficos para inyectar y compilar todo en un único binario ligero y nativo.

📝 Ejemplo Limpio de Uso (demo_paint.at)

La sintaxis declarativa de bloques elimina el ruido visual y los puntos y comas en las cabeceras, facilitando la lectura del código fuente:

link graphics raylib

window
    title = "Paint Test"
    width = 800
    height = 600
    fps = 60
create window

loop
    clear skyblue
    
    draw text
        content = "Altair Graphics v1.6.5vC"
        x = 10
        y = 10
        size = 24
        color = white
    create draw
    
    draw rect
        x = 100
        y = 100
        width = 200
        height = 120
        color = red
    create draw
    
    draw circle
        x = 500
        y = 200
        radius = 60
        color = gold
    create draw
break

⚙️ Optimizaciones bajo el capó (v1.6.x Core)

Esta versión hereda las mejoras críticas de estabilidad distribuidas en nuestro ecosistema:

  • Objetos dinámicos ultraligeros: Reducción del consumo de memoria en un 99.5% (~50 bytes por instancia en lugar de los 10KB originales).
  • Gestión de Cadenas O(1)/O(n): Eliminación completa de las fugas masivas de memoria al concatenar texto gracias al path de asignación única (malloc).
  • Transferencia de Propiedad (Ownership): Implementación de altair_var_set_own para mover punteros de datos en la CPU en lugar de clonar bytes redundantes.

📦 Distribución y Binarios Multiplataforma

A través de nuestro pipeline automatizado en la nube (altair-builder), los empaquetados multiplataforma se generan directamente desde la terminal en un tiempo récord de 11 segundos:

  • 🐧 Linux: Paquete nativo .deb listo para sistemas basados en Debian/Ubuntu.
  • 🪟 Windows: Instalador autoejecutable .exe compilado mediante scripts de NSIS.
  • 🍏 macOS: Soporte de instalador .pkg nativo optimizado para arquitecturas Apple Silicon (arm64).

🛠️ Correcciones en esta Build

  • Corregida la interpretación del lexer que confundía las llamadas nativas de bloques con variables sueltas (raylib_var, key_var).
  • Ajustada la consistencia multiplataforma reemplazando fmemopen por archivos temporales en Windows para la restauración de Snapshots.

Altair Community — Desarrollado con pasión, compilado nativamente a C.

NEXUS!

NEXUS! Pre-release
Pre-release

Choose a tag to compare

@victios7 victios7 released this 26 Jul 16:14
3f5fdd5

🚀 Altair Development Update — Altair ya puede crear compiladores

Nos complace compartir uno de los mayores avances en el desarrollo de Altair.

Aunque la versión utilizada para este proyecto todavía no ha sido publicada, Altair ya ha demostrado que puede utilizarse para desarrollar herramientas reales.


🌌 ¿Qué hemos creado?

Como prueba de las capacidades de Altair hemos desarrollado Nexus, un pequeño lenguaje de programación cuyo compilador está escrito íntegramente en Altair.

Nexus no es el objetivo principal del proyecto.

Ha sido creado como una demostración técnica para validar que Altair es capaz de construir compiladores completos.


⚙️ ¿Cómo funciona?

El flujo completo es el siguiente:

Código Nexus (.nx)
        │
        ▼
nexusc
(escrito en Altair)
        │
        ▼
Generación automática de C
        │
        ▼
Tiny C Compiler (TCC)
        │
        ▼
Ejecutable nativo de Windows (.exe)

El usuario únicamente escribe código Nexus.

El compilador, desarrollado completamente en Altair, se encarga de:

  • Leer el archivo .nx
  • Analizar la sintaxis
  • Generar código C automáticamente
  • Invocar Tiny C Compiler (TCC)
  • Crear un ejecutable nativo de Windows

Todo este proceso ocurre de forma automática.


📝 Ejemplo

Código Nexus:

module main

use std.io

fn main() {
    print("¡Hola, Mundo!")
}

Código C generado automáticamente:

#include <stdio.h>

int main(void) {
    printf("%s\n", "¡Hola, Mundo!");
    return 0;
}

Resultado:

¡Hola, Mundo!

Finalmente TCC genera un ejecutable nativo que puede ejecutarse sin depender de Altair.


✅ Características actuales de Nexus

La primera versión del compilador soporta:

  • module
  • use
  • fn main()
  • Variables str
  • Variables num
  • print()
  • Comentarios (//)

Aunque se trata de una versión inicial, ya es capaz de generar programas completamente funcionales.


🔨 ¿Qué demuestra esto sobre Altair?

Nexus utiliza numerosas capacidades del lenguaje Altair:

  • Funciones
  • Variables
  • Listas
  • Manipulación de cadenas
  • Lectura y escritura de archivos
  • Control de flujo (if, while, foreach)
  • Ejecución de procesos externos
  • Generación automática de código fuente

En otras palabras, Altair ya puede utilizarse para desarrollar compiladores y herramientas de programación reales.


📦 Importante

Todo el SDK de Nexus:

  • nexusc.exe
  • nexus-terminal.exe

ha sido desarrollado íntegramente en Altair.

El usuario final no necesita instalar Altair.

Únicamente necesita ejecutar los binarios ya compilados.


⚠️ Una versión aún no publicada

El compilador de Nexus ha sido desarrollado utilizando una versión interna de Altair que todavía no ha sido publicada.

Muchas de las funcionalidades utilizadas por Nexus aún forman parte del desarrollo activo de Altair y llegarán en futuras versiones públicas.

Esto significa que el estado actual de Altair es más avanzado de lo que reflejan las versiones disponibles actualmente.


🎯 El objetivo sigue siendo Altair

Aunque Nexus ya es capaz de generar ejecutables nativos, no pretende convertirse en el lenguaje principal del proyecto.

Nexus existe como una demostración práctica de las capacidades de Altair.

El desarrollo principal continúa centrado en Altair y en la evolución de su compilador, su ecosistema y sus futuras herramientas.


🚀 Lo que viene

Este es solo uno de los primeros proyectos desarrollados con Altair.

El objetivo es seguir demostrando que Altair puede utilizarse para crear software cada vez más complejo, incluyendo:

  • Compiladores
  • Herramientas de desarrollo
  • SDKs
  • IDEs
  • Aplicaciones nativas

Estamos muy ilusionados con el futuro del proyecto.

¡Gracias por seguir el desarrollo de Altair! 🌌

Altair 1.6.5vC LINUX

Choose a tag to compare

@victios7 victios7 released this 22 Jul 13:34
6f98030

Altair 1.6.5vC

First official Linux release.

Features

  • Altair compiler
  • Native executable generation
  • Official documentation
  • Linux .deb package

Installation

sudo dpkg -i altair_1.6.5vC_amd64.deb

Altair 1.6.5vB — primera versión pública

Choose a tag to compare

@victios7 victios7 released this 18 Jul 10:39
4bfa158
Update README.md

Altair 1.6.5vC arreglos

Choose a tag to compare

@victios7 victios7 released this 21 Jul 13:55
09cdcfa
1.6.5.vC

Update guia.html