Playground
Escribe, ejecuta y prueba programas Achronyme directamente en tu navegador.
El Playground de Achronyme es un IDE en el navegador para escribir y ejecutar código Achronyme. No requiere instalación.
Qué incluye
- Editor completo — CodeMirror 6 con resaltado de sintaxis, emparejamiento de llaves e indentación automática
- Diagnósticos en línea — errores y advertencias aparecen mientras escribes, usando la misma lógica LSP que la extensión de VS Code
- Autocompletado — 108 completados para keywords, builtins, métodos y snippets
- Documentación al hover — pasa el cursor sobre cualquier builtin o keyword para ver su documentación
- Proyectos multi-archivo — explorador de archivos, pestañas, renombrar y eliminar
- Tres plantillas —
circuit,vmyprove, iguales aach init --template - Ejecutar y probar — ejecuta tu código en un servidor remoto con VM completa y soporte de pruebas
Inicio rápido
- Ve a achrony.me/playground
- El playground carga una plantilla
vmpor defecto consrc/main.ach - Escribe tu código en el editor
- Presiona Ctrl+Enter (o haz clic en Run) para ejecutar
let greet = fn(name) {
return "Hello, " + name + "!"
}
print(greet("World"))
Cómo funciona
El playground opera en dos capas:
Navegador (lado del cliente):
- Editor CodeMirror con soporte del lenguaje Achronyme
- Features LSP (diagnósticos, completado, hover) vía WASM — el parser y compilador corren localmente en el navegador con cero latencia
- Gestión de sesiones y persistencia de archivos vía localStorage
Servidor (play.achrony.me):
- Compilador + VM de Achronyme corriendo nativamente en un servidor
- Cada usuario obtiene un workspace aislado con almacenamiento de archivos en el servidor
- Ejecución sandboxed: presupuesto de 100M instrucciones, límite de heap 256 MB, timeout de 10s
- Soporte de pruebas con backends Groth16 (R1CS) y Halo2 (Plonkish)
Los diagnósticos son instantáneos porque corren en el navegador. La ejecución requiere un round-trip al servidor pero es rápida para programas típicos.
Limitaciones
- Límite de output: la salida de print está limitada a 1 MB por ejecución
- Límites de archivos: 20 archivos por proyecto, 32 KB por archivo, 256 KB de workspace total
- TTL de sesión: las sesiones expiran después de 2 horas de inactividad (se restauran automáticamente desde el backup en localStorage)
- Sin REPL: el playground ejecuta programas completos, no expresiones individuales