Skip to content

Releases: Aurora-softwares/Hylang-Compiler

Release list

Alpha-0.0.1

Choose a tag to compare

@ryvor ryvor released this 05 Oct 12:58
e459b39

Hydrogen alpha-0.0.1

The first public release of Hydrogen (Hylang).

Hydrogen is now a self-hosted, C#-inspired systems language. This release ships
the verified third-generation Hydrogen compiler as hy for Linux x86-64. It can
compile supported Hydrogen programs directly to standalone Linux x86-64
executables, without invoking a C++ compiler, host C compiler, assembler, or
linker during normal application builds.

Highlights

  • First public, self-hosted Hydrogen compiler release.
  • hy command for checking and compiling .hy sources and executable .hyproj
    projects.
  • Direct Linux x86-64 ELF output with an embedded managed runtime.
  • Self-hosting proof through successive compiler generations, with matching stage
    2 and stage 3 artifacts.
  • Experimental uefi-x64 target that emits a PE32+ EFI application.
  • Verified Australis proof of concept: a Hydrogen program is compiled, packaged
    into a UEFI ISO by mtools and xorriso, and displays text in QEMU/OVMF.

Install

Extract the archive and add its bin directory to your shell PATH:

export PATH="/path/to/hydrogen-alpha-0.0.1-linux-x86_64/bin:$PATH"

Then use the compiler:

hy check hello.hy
hy compile hello.hy -o hello
chmod +x hello
./hello

Verify the archive before use:

sha256sum -c hydrogen-alpha-0.0.1-linux-x86_64.tar.gz.sha256

Current supported surface

Hydrogen alpha-0.0.1 supports namespaces, classes, constructors, public/private
members, static and instance methods, recursion, int, byte, bool, strings,
arrays, enums, var, if, while, break, continue, and return.

Linux-native programs include console output, basic file text/byte I/O, integer
conversion, and automatic managed allocation/garbage collection.

Alpha limitations

This is an early release. The compiler currently runs on Linux x86-64. Windows
and macOS host releases are planned for later.

The UEFI target is a deliberately small proof, not a complete firmware runtime.
It currently supports a static entry point that writes ASCII string literals with
System.Console.WriteLine. Keyboard input, screen clearing, memory/boot-service
wrappers, graphics, and the planned Hydrogen.Uefi library are not available yet.

The current language release does not yet include for, inheritance, interfaces,
struct value semantics, generics, overloads, static fields, exceptions, pointers,
manual memory, packages, an interpreter, or editor tooling.

What comes next

Hydrogen's main direction is Australis OS and native Australis applications. The
next work grows the compiler and a minimal UEFI library together: console helpers,
keyboard input, boot-service and memory-map wrappers, then a firmware-hosted
command shell. Longer term, Australis will transition beyond UEFI boot services
to its own allocation, framebuffer, interrupt, input, storage, kernel, and
application-runtime layers.

Feedback

This release is intentionally an alpha. Please report bugs, missing features, and
use cases through the Hydrogen issue tracker.

Thank you for trying the first public Hydrogen release.

Full Changelog: https://github.com/Aurora-softwares/Hylang-Compiler/commits/alpha-0.0.1