Skip to content

Releases: tinyBigGAMES/MyraLang

Release list

MyraLang v0.1.0

Choose a tag to compare

@jarroddavis68 jarroddavis68 released this 14 Jul 23:07

Myra - Pascal. Refined.

Myra is a minimal, Pascal/Oberon-inspired systems programming language that compiles to modern C++23 and builds to native binaries through a bundled Zig/Clang toolchain. No external compiler, no build-system glue, no configuration -- point Myra at a .myra file and it produces an executable.

This is the first public release.

Highlights

  • Minimal systems language -- Oberon-inspired, only the essential constructs: object types with create/destroy lifecycle and methods, pointers, sets, choices enums, guard/except exception handling, and module exe|dll|lib units.
  • Seamless C++ passthrough -- any token Myra does not recognize passes through verbatim to the generated C++. Use C and C++ libraries directly, with no wrapper syntax and no escape hatch.
  • Hackable compiler -- the language is defined by human-readable .mld definition files (tokens, grammar, semantics, emitters, helpers) that ship alongside the compiler in bin/res/language/. The grammar is data, not baked into the binary.
  • Six build targets -- win64, winarm64, linux64, linuxarm64, macos64, and wasm32, all driven from the bundled toolchain. win64 runs natively; linux64 runs via WSL2; wasm32 emits a self-contained, double-click .html runner with the WASI shim and wasm bytes inlined.
  • Compile-time conditionals -- @ifdef gates Myra at the lexer stage (build directives, target selection); C++ #if passthrough handles the generated code. Myra defines and the live TARGET_* symbol reach the C++ compiler as -D defines.
  • C linkage control -- cpplink (default) or clink per routine, with DLL and static-library import and export across Myra modules.

Tooling

  • Myra.exe -- the command-line compiler. -s source, -o output, -r build-and-run, -d debug, -h help.
  • MyraLSP.exe -- a Language Server Protocol server: hover, go-to-definition, find references, rename, document and workspace symbols, real-time diagnostics, folding, semantic tokens, signature help, inlay hints, formatting, and code actions.
  • -d debug mode -- an interactive, PDB-based source-level debug REPL for Windows executables.
  • Testbed.exe -- the language test-suite runner.

Quick start

Myra -s hello.myra -r

Compiles hello.myra to a native executable via the bundled toolchain and runs it.

Release contents (MyraLang-0.1.0-x86_64-windows.zip)

Path Description
bin/Myra.exe CLI compiler
bin/MyraLSP.exe LSP server
bin/Testbed.exe Test suite runner
bin/res/language/ .mld language definition (tokens, grammar, semantics, emitters, helpers)
bin/res/libs/ Standard library and vendor bindings
bin/res/runtime/ C++ runtime support (myr_runtime)
bin/res/tests/ .myra test sources
bin/res/wasm/ WASI shim and browser HTML runner template
bin/res/zig/ Bundled Zig/Clang toolchain
docs/Myra.md Reference manual (Markdown)
docs/Myra.pdf Reference manual (PDF)
media/ Logo and branding
README.md Project overview
LICENSE License

Documentation: See docs/Myra.md (or docs/Myra.pdf) for the complete language reference. Online at myralang.org.

Requirements: Windows 10/11 x64. Linux targets build via WSL2 + Ubuntu. Building Myra from source requires Delphi 12 Athens.

File Integrity

Files are signed with minisign using this public key:
RWSLGfwSOWByrazkUwTzwlJ3rozKvaSnr3KT2aS/hSPDSLzUTPgj/m2X