Versiones
Todo lo que ha cambiado en HyperEZ, versión a versión. El formato sigue Keep a Changelog.
Las carpetas de HyperEZ (hypersettings, hypercode, hypertests...) con sus iconos, y los dos editores, el de Windows y el del navegador, con las mismas funciones.
Añadido
Las carpetas de un proyecto HyperEZ (Proyectos y carpetas)
hyper newcrea los proyectos conhypersettings/proyecto.json(nombre, versión, programa principal...),hypercode/(los módulos),hypertests/(las pruebas) yhyperdata/. También se reconocenhyperlibs/,hypertools/,hyperassets/,hyperdocs/yhyperbuild/(que el.gitignoreya excluye).- Importar por nombre desde cualquier carpeta del proyecto:
from jugador import Jugadorencuentrahypercode/jugador.hez(yhyperlibs/<nombre>/main.hez), también desde las pruebas dehypertests/. hyper runsin archivo ejecuta elprincipaldeproyecto.json;hyper testsin carpeta, las pruebas dehypertests/(otests/en los proyectos de antes), desde cualquier subcarpeta.hyper tool: lista las herramientas dehypertools/(con su primer comentario) yhyper tool <nombre> [args]ejecuta una.System.projectDir: la raíz del proyecto (la carpeta conhypersettings/), para llegar ahyperdata/yhyperassets/se ejecute desde donde se ejecute.- Iconos de HyperEZ para cada carpeta (cerrada y abierta) y para
.hez,proyecto.json, Markdown, JSON, imágenes, datos, HTML, CSS y JavaScript: en HyperEZ Editor, en el editor del navegador y como tema de iconos de VS Code. Los dibujatools/gen_iconos.js(assets/icons/tema).
HyperEZ Editor
- Tema oscuro HyperEZ Noche (Ver → Tema oscuro), con los colores de VS Code y del navegador y la barra de título oscura; al imprimir se usan los claros.
- Nuevo proyecto (Ctrl+Mayús+N): juego, aplicación, IA, herramienta, web o sitio, en
Documentos\HyperEZ, abierto en el Explorador. - El Explorador muestra los iconos de HyperEZ y, al abrir un archivo de un proyecto, el proyecto entero con su nombre.
- Ir a la definición (F12 o Ctrl+clic), también en otros archivos del proyecto, con el servidor de lenguaje de VS Code y del navegador.
- Compartir en el editor web: un enlace con el programa, que se abre y ejecuta en el navegador.
- Ayuda → La web de HyperEZ y HyperEZ en el navegador.
Editor en el navegador
- Los iconos de HyperEZ y un proyecto de bienvenida con
hypersettings,hypercodeyhypertests. - Nuevo proyecto (Ctrl+Mayús+N): los mismos de
hyper new, generados por HyperEZ en WebAssembly (hz_new_project). - Ejecutar las pruebas (Ctrl+Mayús+T), repetir al cambiar (Ctrl+F5), imprimir (Ctrl+P), elegir la fuente, zoom con Ctrl+rueda e INS/SOB, como en HyperEZ Editor.
- F5 sobre un archivo que no es código ejecuta el programa principal del proyecto.
La web
- Preguntas frecuentes en la portada; canónicas, Open Graph y Twitter en todas las páginas; datos estructurados (schema.org) del lenguaje, el programa, el editor web, el autor y las preguntas;
sitemap.xmlcon fechas y prioridades,manifest.webmanifestyhumans.txt. - Aviso a los buscadores con IndexNow en cada publicación, y verificación de Google Search Console y Bing Webmaster Tools con las variables del repositorio
GOOGLE_SITE_VERIFICATIONyBING_SITE_VERIFICATION. - Página Proyectos y carpetas en la documentación.
VS Code (extensión 0.8.3)
- Tema de iconos HyperEZ y la orden HyperEZ: Usar los iconos de HyperEZ, que se ofrece una vez al abrir un proyecto con
hypersettings/. - F5 y Ejecutar pruebas reconocen la raíz del proyecto por
hypersettings/ohypertests/; enlaces a la web.
Cambiado
- El servidor de lenguaje vuelve a analizar los archivos abiertos cuando se abre otro (o cambia, en el navegador): los errores de una importación que aún no estaba abierta desaparecen solos.
- Herramientas de la extensión al día (
@vscode/vsce4.1) y GitHub Actions con Node 22.
Arreglado
- En el navegador,
Process.exit(código)yexit()terminaban con un «error interno»: ahora acaban el programa con ese código. - Vulnerabilidad de
minimatchen las herramientas de publicación de la extensión (Dependabot).
La web de HyperEZ, con el editor en el navegador, y un HyperEZ Editor con Explorador que ejecuta sin guardar.
Añadido
La web de HyperEZ (cuevacaravacaadrian.github.io/HyperEZ, en projects/web)
- Portada, descargas (con el botón según tu sistema y los archivos de la última versión, sacados de GitHub), toda la documentación con buscador y menú lateral, ejemplos, versiones, créditos y licencias.
- HyperEZ Editor en el navegador: el lenguaje de verdad compilado a WebAssembly, con Explorador de archivos y carpetas, pestañas, ejecutar sin guardar y ■ detener, entrada para
input(), errores en vivo, autocompletado, ayuda al pasar el ratón y de parámetros, ir a la definición, cerrar parejas, formato, buscar y reemplazar, ejemplos, compartir por enlace, descargar en.zipy tema clásico o HyperEZ Noche. - Cada bloque de código de la documentación tiene su botón ▶ Probar en el editor.
- La genera el propio HyperEZ (
projects/web/construir.hez) y se publica sola en GitHub Pages; sus pruebas abren el editor en un Chrome de verdad.
HyperEZ Editor
- Explorador (Ctrl+Mayús+E): las carpetas y archivos del proyecto, con el icono de HyperEZ en los
.hez; nuevo archivo, nueva carpeta, renombrar (F2), eliminar a la papelera, mostrar en el Explorador de Windows. Archivo → Abrir carpeta en el Explorador. - Ejecutar sin guardar: F5 y Mayús+F5 ejecutan lo que ves en el editor, aunque no esté guardado ni tenga nombre.
- Cerrar parejas
( [ { " ', saltar el cierre ya escrito, rodear la selección, borrar la pareja vacía e Intro entre{}.
Lenguaje y herramientas
- La extensión de VS Code se llama ahora **
hyperez.hyperezprogramminglanguagevscodeextension**; el instalador quita las de los nombres anteriores para que no haya dos. hyper run --as <ruta> <archivo>: ejecuta un archivo como si estuviera en otra ruta (así ejecutan sin guardar los editores).hyperen WebAssembly (emcmake cmake,src/wasm/web_api.cpp) y el servidor de lenguaje en memoria, para el navegador.- VS Code: los archivos sin título se ejecutan sin guardar; con
hyperez.run.saveBeforeRundesactivado, también los demás. hyper serveda el tipo correcto a.hez,.md,.webpy.xml.
Arreglado
match: una guarda o un patrón que terminaba en un nombre (_ if n < limite => ...) se leía como una función.lexico.md:.hezes la extensión por defecto.
La extensión de VS Code, lista para el Marketplace; textos con formato, do-while, la biblioteca validate y todo preparado para que GitHub reconozca HyperEZ.
Arreglado
- VS Code: la salida de F5 ya no desaparece. VS Code cierra la terminal en cuanto el programa termina bien, así que el resultado de un programa rápido no llegaba a verse. Ahora Ejecutar, Comprobar y las pruebas esperan una tecla al terminar ("Pulsa una tecla para cerrar...").
- La compilación para Windows con
build.ps1ya no avisa de "serial compilation of LTRANS jobs" al enlazar con LTO. x is text ? {...} : yya funciona: trasis, un?seguido de un mapa es la condición, no el tipotext?.
Cambiado
- La extensión de VS Code se llama ahora **
hyperez.hyperezprogramminglanguage** (el nombrehyperezestaba cogido en el Marketplace). El instalador lee el identificador depackage.jsony quita la extensión antiguahyperez.hyperezpara que no haya dos. - Página de la extensión renovada para el Marketplace: capturas en VS Code, primeros pasos, ejemplos, insignias, palabras clave y la categoría Formatters.
- Capturas del editor y del instalador al día en el README y la documentación.
- El repositorio ya es público: la documentación lo indica (kit de Linguist, publicar la extensión).
- **Los proyectos nuevos usan
.hez** (main.hez,src/*.hez,tests/*.hez), la extensión por defecto, y traen.github/workflows/pruebas.yml(las pruebas se ejecutan en GitHub con cada cambio) y la insignia Hecho con HyperEZ.
Añadido
Lenguaje
- Formato en las interpolaciones, como en Python:
"${precio:.2f}","${nombre:<10}","${n:>8,}","${0.25:%}","${255:x}","${7:03}","${"Ana":*^9}"... y la funciónformat(valor, "formato"). - **
do { ... } while condición**: el bloque se ejecuta al menos una vez (dosolo es especial delante de{).
Bibliotecas
- **
import validate: correos, webs, teléfonos, DNI/NIE con su letra, IBAN** con sus dígitos de control, tarjetas (Luhn), ISBN, códigos postales, colores, fechas y contraseñas; yvalidate.check(datos, reglas)para comprobar formularios y JSON con mensajes en español. Ver validar.md.
GitHub
- Kit para GitHub Linguist completo (
editors/linguist/): la entrada (.hez, color#62d962, intérpretehyper), 7 muestras reales, el repositorio de la gramática, el texto de la pull request y los objetivos por fases para llegar al requisito de uso.tools/linguist_kit.pylo genera,--progressmide los.hezde GitHub yctest -R linguistlo comprueba. - **Acción
setup-hyperez** para GitHub Actions:uses: cuevacaravacaadrian/HyperEZ/actions/setup-hyperez@maininstalahyperen Windows, Linux o macOS.
Herramientas
hyper test --pause(y--pauseen la ayuda paracheckytest).- VS Code y HyperEZ Editor colorean
doy el formato de${...}; dos fragmentos nuevos,haceryformato(54 en total). - HyperEZ Editor: el panel de abajo (Problemas y Salida) cambia de alto arrastrando el separador que lo une al código, y se recuerda.
Descargas que funcionan, webs con el lenguaje, sintaxis nueva y un editor todavía más clásico.
Arreglado
- Las versiones de GitHub ya se publican: las pruebas fallaban en GitHub Actions (en Windows, los
✓de los scripts de Python con la consola encp1252; en Linux y macOS, el orden en queos.walkrecorre las carpetas al generardocs/errores.md), así que nunca se llegaba a crear la versión con el instalador. Ahora pasan en Windows, Linux y macOS. texto[2..]devolvía un texto vacío en Windows (el final "infinito" no cabía en unlongde 32 bits).- El formateador alinea las líneas que empiezan cerrando (
}, {,})) con la línea que abrió el paréntesis. - La prueba del servidor web busca un puerto libre en lugar de fallar si el elegido estaba ocupado.
- Lo que escribe un programa con
printmientras atiende un servidor web se ve al momento (antes, al pararlo).
Añadido
Lenguaje
- Tubería
|>:x |> fesf(x)yx |> f(a)esf(x, a); una línea que empieza por|>continúa la anterior. - Comprensiones de lista y de mapa:
[x * x for x in 1..=5 if x % 2 == 1],[i + x for i, x in lista],{n: n * n for n in 1..=3}(también constep). - Propagación en mapas:
{...base, color: "rojo"}(las claves de la derecha ganan). **=y rangos abiertos en los índices:lista[2..],lista[..3],texto[-3..],lista[..].
Webs
hyper serve [carpeta]: servidor para desarrollar que sirve una carpeta y recarga el navegador al guardar (--puerto,--abrir,--red,--sin-recarga).hyper new mi-web --tipo web(plantillas HTML, formulario, API JSON y CSS, con pruebas) yhyper new mi-blog --tipo sitio(páginas desde Markdown).import web:app.staticDir,app.patch,app.all,listen(..., { open: true }),web.view(plantillas con base común),web.form,web.cookies,web.withCookie,web.json,web.html,web.text,web.file,web.error,web.logger,web.decode, páginas 404 con estilo yweb.devServer.import site: webs completas a partir de archivos Markdown, con menú (también con grupos), diseño adaptable al móvil, datos---por página, enlaces.md→.htmly código coloreado.import markdown:highlightHzy la opción{ highlight: true }para colorear los bloques de código HyperEZ.
HyperEZ Editor, más clásico
- Barra de herramientas con los iconos de Windows y tooltips; pestañas para varios archivos (Ctrl+N, Ctrl+W, Ctrl+Tab, botón central para cerrar).
- Panel de salida (Mayús+F5): el programa se ejecuta dentro del editor y su salida aparece abajo, con el tiempo y el resultado; doble clic en
archivo.hez:12va a esa línea; ■ lo detiene. - Imprimir (Ctrl+P) con colores y número de página, Ver → Fuente…, indicador INS/SOB, mostrar u ocultar las barras, Cerrar las demás pestañas y abrir varios archivos a la vez.
Instalador
- Dos apartados: Componentes (el lenguaje, obligatorio; HyperEZ Editor y la extensión de VS Code, opcionales) e Integración con Windows. Opción
/NOEDITOR. - App Paths:
Win+R → hyper(yhyperez-editor) funciona al momento. - La documentación en HTML (
docs-html/), generada con el propio HyperEZ, para leerla en el navegador sin conexión; la abren la Ayuda del editor y el menú Inicio. - Los colores para otros editores en
editors/.
Otros editores y GitHub
- Colores para Notepad++, Sublime Text/TextMate, Vim/Neovim y highlight.js, generados desde la gramática de VS Code (
tools/gen_editors.py); guía para usarhyper lspen Neovim y Helix. - Kit para proponer HyperEZ a GitHub Linguist (
editors/linguist/) y colores en GitHub mientras tanto (.gitattributes).
Extensión de VS Code
- Colores para
|>,**=y las comprensiones; 4 fragmentos nuevos (52 en total).
Pruebas
ctest -R proyectos: crea un proyecto de cada uno de los 6 tipos y pasa sus pruebas. Pruebas nuevas de la sintaxis y de las webs.
Un editor propio, mucha más biblioteca y un compilador más rápido.
Añadido
HyperEZ Editor (Windows, bin\hyperez-editor.exe)
- Editor de código clásico con fondo blanco que se instala con HyperEZ y se abre al terminar la instalación.
- Colores con el lexer del lenguaje (también dentro de
${...}), números de línea, errores mientras escribes con el analizador del compilador (panel con doble clic para ir al error y marca en la línea). - F5 ejecuta, Ctrl+F5 repite al guardar, F6 consola interactiva, F7 comprueba; autocompletado (Ctrl+Espacio) con todas las funciones, módulos y los nombres del archivo; firma de la función al escribir
(. - Sangría automática, Tab/Mayús+Tab, comentar (Ctrl+/), duplicar línea, formatear (Ctrl+Mayús+F), buscar y reemplazar, ir a la línea, zoom, ajuste de línea, archivos recientes, arrastrar y soltar, plantillas y todos los ejemplos en el menú.
- Los programas nuevos se guardan como
.hezenDocumentos\HyperEZ.
Lenguaje y herramientas
hyper fmt [--check]: formateador que ordena la sangría y los espacios sin cambiar los tokens (lo comprueba); también en el servidor de lenguaje, VS Code y HyperEZ Editor.hyper bytecode archivo: desensamblador que muestra las instrucciones que genera el compilador.- Repetir listas:
[0] * 5.texto.indexOf(sub, desde).
Biblioteca nativa (C++)
- Matemáticas:
gcd,lcm,factorial,isPrime,primes,divisors,cbrt,trunc,fract,sinh,cosh,tanh,randomGaussian,noise(ruido de Perlin),chryord. - Textos:
removeAccents,title,camelCase,pascalCase,snakeCase,kebabCase,slug,truncate,wrap,distance(Levenshtein),similarity,indent,dedent,between,isBlank,codesyreverseWords. - Listas:
countBy,sumBy,uniqueBy,windowed,rotate,intersect,difference,union,takeWhile,skipWhile,none,sample,toSet,compact,product,lastIndexOf,binarySearch,scan,enumerate,toMap,medianeinsertSorted. - Mapas:
pick,omit,invert,update,any,all,count,find,mapKeys,sortByKeyysortByValue. Conjuntos:union,intersect,difference,symmetricDifference,isSubset,isSuperset,isDisjoint,mapyfilter. - Números:
isEven,isOdd,clamp,between,toRoman,format(separador de miles al estilo español),digits,timesytoPercent. Time:today,addDays,addMonths,daysBetween,isLeapYear,daysInMonth,monthNameydayName(en español),parse,durationyago("hace 5 minutos").JSON.loadyJSON.save.Hash.md5,Hash.sha1yHash.hmac(HMAC-SHA256).Bytes.compress(nivel, raw)ydecompress(raw)para deflate puro.Matrix:det,inverse,solve(sistemas de ecuaciones, LU con pivoteo),trace,norm,std,diag,sliceyMatrix.concat.Image:ellipse,polygon,gradient,blur,rotate,brightness,contrast,sepia,thresholdyfloodFill.
Bibliotecas escritas en HyperEZ (8 nuevas, 17 en total)
collections:Stack,Queue,Deque,PriorityQueue,Counter,LRUCacheyGraph(recorridos, Dijkstra, distancias, componentes, orden topológico, ciclos).algo: permutaciones, combinaciones, producto cartesiano, subconjuntos, subsecuencia común más larga,memoizey cuadrículas (A*, vecinos, relleno, dibujar el camino).template(plantillas con variables,if,unlessyeach),markdown(Markdown a HTML y páginas completas),ini(archivos de configuración),log(registro con niveles, colores y archivo),svg(dibujos y gráficas de barras, líneas y tarta) yzip(crear, listar, leer y extraer.zipcompatibles).
Instalador
- Instala HyperEZ Editor y lo abre al terminar; casillas nuevas Acceso directo en el escritorio y Abrir HyperEZ Editor al terminar; opciones
/NODESKTOPy/OPENEDITOR. - Clic derecho: Editar con HyperEZ Editor (y Editar con Visual Studio Code si está), HyperEZ Editor en Abrir con y Nuevo → Programa HyperEZ (
.hez). - Crea
Documentos\HyperEZpara los programas (al desinstalar solo se quita si está vacía).
VS Code
- Botones ▶ Ejecutar · ⟳ Repetir al guardar · ✓ Comprobar encima del código y ▶ Probar sobre cada
test(...); dar formato (Mayús+Alt+F, y al guardar si se activa); ver el bytecode; abrir en HyperEZ Editor;.hezcomo extensión por defecto.
Documentación y ejemplos
- Guías nuevas: HyperEZ Editor, colecciones y algoritmos y textos, números, fechas y documentos; secciones nuevas sobre
.zip, SVG, filtros de imagen y álgebra lineal; README más claro con capturas. - Ejemplos nuevos: laberinto con A*, rutas entre ciudades, gráficas SVG, comprimir en
.zip, página web desde Markdown y textos y números. - Pruebas nuevas: formateador (
ctest -R formato), desensamblador de todo el código (ctest -R bytecode) y 32 pruebas de las novedades.
Cambiado
- Compilador: los
fornuméricos cuya variable no captura ninguna función usanFOR_CHECK_V/FOR_NEXT_V(dos instrucciones menos por vuelta) y las asignaciones como sentencia guardan y descartan en una sola instrucción (DEFINE_GLOBAL,SET_LOCAL_POP). - Máquina virtual: cada operación aritmética y de comparación tiene su propio caso,
%usa división de 32 bits cuando los números caben, y el hash de los textos largos se calcula por muestras (concatenar a un texto que crece ya no lo recorre entero:textopasa de 148 a 121 ms). Unforvacío tarda la mitad. Números en rendimiento. - El editor de texto, la ayuda y la extensión proponen
.hezcomo extensión de los programas nuevos.
Una base para hacer de todo: HyperEZ deja de ser solo un lenguaje para juegos.
Añadido
Lenguaje
- Desestructuración:
var [a, b, ...resto] = listayvar {nombre, vida: puntos} = objeto(también conletyconst). - Sobrecarga de operadores en clases y en clases nativas:
add,sub,mul,div,mod,pow,compareTo(para<,>...),equals(para==) yget/set(paraobj[i]);len()usa la propiedadlength. - Textos sin escapes
r"..."(expresiones regulares, rutas de Windows). - Una primera línea
#!/usr/bin/env hyperse ignora: scripts ejecutables en Linux y macOS. x is Tipo ? a : bya no se confunde con un tipo opcional.n.toHex(),n.toBinary(),n.toBase(b)yparseInt(texto, base).
Biblioteca nativa (C++)
Process:run,shell,start(en segundo plano, conwait,killyrunning),exit,open,pid.Path:join,dir,name,stem,ext,withExt,absolute,normalize,relative,home,temp.File:copy,move,size,modified,isFile,listAll,deleteDir,tempFile,readBytes,writeBytes.Time:now,date,format,make,measure,clock.System:cpuCount,user,hostname,exe,arch,setEnv.Bytes: bloques binarios con lectura y escritura de enteros y decimales (little y big endian), hexadecimal, Base64 y compresión zlib (compress/decompress).Hash(sha256,crc32,fnv1a,uuid) yBase64.Regex: buscar, validar, grupos, reemplazar (también con una función) y dividir;texto.matches()ytexto.replaceRegex().Http: cliente HTTP/HTTPS (get,post,request,getJson,postJson,download,query,encode) y servidor webHttp.servecon archivos estáticos, JSON y CORS.Matrix: álgebra lineal en C++ con expansión de filas y columnas, producto, transpuesta, activaciones de redes neuronales y reducciones.Image: imágenes RGBA con rectángulos, líneas, círculos, texto con la fuente DejaVu Sans incluida, transformaciones, y lectura y escritura de PNG, JPG, BMP y TGA.
Bibliotecas escritas en HyperEZ (import nombre, incluidas en hyper)
ai: redes neuronales (perceptrón multicapa con sigmoide, ReLU, tanh y softmax, entrenamiento por lotes), regresión lineal, k vecinos, k-medias, normalización y one-hot.stats,csv,cli(argumentos, preguntas, barras de progreso, tablas),web(rutas con parámetros y middleware),html,db(base de datos de documentos en JSON),audio(sonidos y música en WAV) yx86(ensamblador de 16 bits para sectores de arranque).
Herramientas
hyper new <nombre> --tipo juego|app|ia|script, con la estructuramain.hz,src/,tests/ydatos/.- Linux y macOS:
hyper register(asociación de archivos con xdg), modo watch, teclas en tiempo real para juegos y paquete.tar.gzconinstall.sh. - Instalador de Windows: HyperEZ queda siempre como programa predeterminado de los
.hz, nuevas acciones Ejecutar y repetir al guardar y Abrir HyperEZ aquí, cabecera con los colores de la marca y botón Abrir la consola al terminar. hyper helporganizado por secciones yhyper versioncon los datos de compilación.- VS Code: tutorial de bienvenida, tema HyperEZ Noche, asistente de proyecto con tipos, 14 fragmentos nuevos y guía para publicar en el Marketplace.
Documentación
- Documentación completa en
docs/: instalación, primeros pasos, tutoriales (juego e IA), referencia de toda la sintaxis con su gramática, guías de cada área de la biblioteca, herramientas, funcionamiento interno y hoja de ruta. - Generada a partir del código (y comprobada en las pruebas): referencia de la API, catálogo de códigos de error e instrucciones del bytecode.
- 18 ejemplos organizados en 12 áreas.
- Imágenes de presentación del repositorio generadas con el propio HyperEZ (
tools/banner.hz).
Mejorado
- Rendimiento (ver
docs/interno/rendimiento.md):fib25 → 18 ms (−28 %), métodos con campos 21 → 17 ms (−19 %), operaciones conVec262 → 18 ms (3,4 veces más rápido). Gracias a: llamadas directas a funciones y métodos, comprobación de tipos de parámetros sin comparar textos, comparación y salto fusionados, bucleforen una instrucción por vuelta y asignador de objetos pequeños. - Los números aleatorios dan la misma secuencia en Windows, Linux y macOS con la misma semilla.
- Código fuente organizado en carpetas (
syntax,sema,compiler,vm,stdlib,prelude,lib,tools/*). - Integración continua en Windows, Linux y macOS; las versiones publican también los paquetes de Linux y macOS.
Primera versión pública.
Añadido
- Consola interactiva:
hyper repl, ohypersin argumentos. Escribe código y ve el resultado al momento. Las variables, funciones y clases se conservan entre líneas y se pueden redefinir. Las entradas de varias líneas se detectan solas y Ctrl+C detiene un bucle sin cerrar la sesión. Comandos.vars,.codigo,.guardar,.cargar,.limpiar,.reiniciary.ayuda. - Modo watch:
hyper watch [archivo.hz]ejecuta el programa y lo repite cada vez que se guarda un.hzde su carpeta. - VS Code: comandos Ejecutar y repetir al guardar (Ctrl+Alt+F5) y Abrir consola interactiva.
- Instalador: acceso directo HyperEZ (consola interactiva) en el menú Inicio. Instala también
LICENSEyCHANGELOG.md. - Compilación con optimización guiada por perfil (PGO) en
build.ps1. - Integración continua y publicación automática de versiones en GitHub Actions.
tools/set_version.py(cambia la versión en todo el proyecto) ytools/github_usuario.py(pone el usuario de GitHub en los enlaces).
Mejorado
- Rendimiento (benchmarks de
tests/bench): llamadas a funciones un 40 % más rápidas, objetos un 32 %, bucles un 11 % y concatenación de textos un 37 %. input()lee bien los acentos y la ñ en la consola de Windows.
Cambiado
- Licencia MIT.
Añadido
- Instalador de Windows (
HyperEZ-Setup.exe): asociación de.hz/.hezcon icono, menú contextual (Editar, Comprobar errores),PATH, menú Inicio, extensión de VS Code y desinstalador. - Extensión de VS Code con servidor de lenguaje (
hyper lsp): diagnósticos, autocompletado, hover, ayuda de firmas, definición, referencias, renombrar, esquema y arreglos rápidos. - Comandos
hyper test(con comparación de salida.out),hyper new,hyper docs,hyper register. - Biblioteca estándar:
test/assertEqual/assertThrows, módulosFile,SystemyConsole, y nuevas funciones de listas, textos y mapas. matchcon bloques: la última expresión del bloque es el valor.- Juegos de ejemplo: serpiente, tres en raya, mazmorra y adivina el número.
Corregido
range(n)con un solo argumento,from "./archivo.hz" import ..., herencia deError, reasignación deletglobales y errores en cascada tras unmatchcon errores.
HyperEZ