Skip to content

Releases: helixlang/helix-lang

Helix v0.0.1-alpha-179a

28 Jan 02:43
Compare
Choose a tag to compare
Pre-release

Helix Compiler v0.0.1-alpha-179a Release Notes

Release Date: January 27, 2025

Warning

This release is still in the alpha stage and may contain breaking changes, missing features, and significant bugs. Feedback is essential to improve Helix!

Welcome to Helix Compiler v0.0.1-alpha-179a! This release includes major updates, new features, and crucial fixes. Thank you for being part of this journey as we push towards building a reliable and efficient compiler for the Helix language.

Full Changelog: https://github.com/helixlang/helix-lang/commits/v0.0.1-alpha-179a


New Features

  • Question Class: Introduced the Question type (T?), providing safe value handling with nullable and error-prone states.
  • SourceLocation and SourceMap: Added classes for improved token tracking and diagnostics.
  • Generator Enhancements:
    • Improved token addition macros.
    • Refactored generator structure for better readability and performance.
  • Macro Preprocessor: Work on the macro preprocessor is underway, allowing support for simple macros similar to #define in C++.
  • Helix Documentation Generator: New tool for automatically generating Helix language documentation.
  • ExtendDecl Class: Introduced parsing support for class extensions and new syntax enhancements.
  • Default Constructor/Destructor Generation: Automatic generation of default constructors and destructors for classes.
  • New Library Module: Added lib-helix submodule for expanded standard library support.

Improvements

  • Parser:
    • Enhanced switch-case parsing.
    • Improved class and object initialization logic.
    • Streamlined anonymous object initialization.
  • Error Handling:
    • Improved logging and verbosity.
    • Enhanced support for panic propagation.
  • Refactored Token Handling:
    • Added set_kind method to the Token class.
    • Updated token constructors for better implicit/explicit control.
  • Header File Organization:
    • Reorganized and modularized header files for consistency and scalability.
  • CXIR Enhancements:
    • Improved function pointer handling and parameter serialization.

Known Issues and Limitations

  • Semantic Analysis: The semantic analysis phase is incomplete.
  • Macro Preprocessor: Initial implementation is basic and lacks advanced macro resolution features.
  • LSP Support:
    • .h files with relative imports cause LSP errors. Temporary workaround: Rename files to .hh.
  • Platform Support: While Helix aims for cross-platform compatibility, certain environments may require manual adjustments.

Installation

  1. Download: Obtain the latest build for your platform from the [release page](https://github.com/helixlang/helix-lang/releases).
  2. Extract:
    tar -xJf helix-0.0.1-alpha-179a-universal-llvm-macosx.tar.xz
    export PATH="$PATH:$(pwd)/helix-0.0.1-alpha-179a/bin"
  3. Compile from Source: Follow the instructions in the [repository readme](https://github.com/helixlang/helix-lang/).

Usage

To compile a .hlx file:

helix your_program.hlx # Add --debug for LLDB/GDB compatible binaries

MD5 Hashes

  • helix-0.0.1-alpha-179a-universal-llvm-macosx.tar.xz
    MD5: 79c67838899e3c16a22f1f6bb47ae231
  • helix-0.0.1-alpha-179a-arm64-llvm-macos.tar.xz
    MD5: 5a3a23053abd1995c7f7361ad692788c
  • helix-0.0.1-alpha-179a-x84_64-llvm-macos.tar.xz
    MD5: cef35462ec8bf7da687bb4a6bed3ad5e
  • helix-0.0.1-alpha-179a-x86_64-msvc-windows.zip
    MDS: 488e4d542e11c5ed03b6f7fbc1e4e60e

Feedback

Helix thrives on your input! If you encounter any issues, have feature requests, or would like to contribute, please open an issue on [GitHub issues](https://github.com/helixlang/helix-lang/issues).

Helix v0.0.1-alpha-51b

23 Nov 05:53
Compare
Choose a tag to compare
Pre-release

Helix Compiler v0.0.1-alpha-51b Release Notes

Release Date: November 22, 2024

Warning

This version is extremely unstable, we are working on continuous fixes, and plan on releasing the next alpha build soon with a lot more fixes.

Welcome to the first release of the Helix compiler! This is version 0.0.1-alpha-51b, an early alpha release that marks the start of something big. Helix is a high-level, statically typed language inspired by modern programming languages, designed to blend performance with expressiveness. We can't wait for you to try it and tell us what you think.

Full Changelog: https://github.com/helixlang/helix-lang/commits/v0.0.1-alpha-51b

Key Features:

  • FFI Support: Interoperate with C++ libraries effortlessly using our foreign function interface.
  • Operator Overloading: Customize operators just like you can in C++ for more intuitive code.
  • Type Safety and Inference: Enjoy a statically typed language that also supports type inference to keep your code clean and concise.
  • Modern Constructs: Helix features modules, generics, and custom type declarations to make development both expressive and powerful.
  • Cross-Platform: *SHOULD* be cross compatiable.

Known Issues and Limitations:

  • This is an alpha release: Expect a few rough edges, missing features, and bugs—your feedback will help helix improve.
  • Missing Features: The semantic analysis phase is incomplete, and some features are not yet implemented.

Getting Started:

  • Installation: Download the appropriate for your platform, extract it, anywhere and add bin/helix if you'd like otherwise, see the instructions on the readme on how to compile from source.
  • Syntax Highlighting & LSP: helix-lsp, for the time being only vs-code is supported.
    tar -xJf helix-0.0.1-alpha-51b-universal-llvm-macosx.tar.xz
    export PATH="$PATH:$(pwd)/helix-0.0.1-alpha-51b/bin"
  • Basic Usage: To compile a .hlx file, simply run:
    helix your_program.hlx # optionally pass --debug to build in lldb/gdb compatible binaries 

MD5 Hashes:

  • helix-0.0.1-alpha-51b-universal-llvm-macosx.tar.xz
    • MD5: 627223d82e2626190e914f5f4a5695cf
  • helix-0.0.1-alpha-51b-arm64-llvm-macos.tar.xz
    • MD5: dcabb2bc1075f6c21f3c458be4bcf334
  • helix-0.0.1-alpha-51b-x86_66-llvm-macos.tar.xz
    • MD5: 0a378e873d802d734bff36d77c448903

Feedback:

Helix has to be the best it can be! If you have any feedback, feature requests, or find bugs, please open an issue on GitHub issues.


Thank you for trying out the Helix compiler. Your input is crucial to shaping the future of the language. We can't wait to see what you build with it!