Releases: helixlang/helix-lang
Helix v0.0.1-alpha-179a
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 theToken
class. - Updated token constructors for better implicit/explicit control.
- Added
- 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
- Download: Obtain the latest build for your platform from the [release page](https://github.com/helixlang/helix-lang/releases).
- 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"
- 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
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
- MD5:
- helix-0.0.1-alpha-51b-arm64-llvm-macos.tar.xz
- MD5:
dcabb2bc1075f6c21f3c458be4bcf334
- MD5:
- helix-0.0.1-alpha-51b-x86_66-llvm-macos.tar.xz
- MD5:
0a378e873d802d734bff36d77c448903
- MD5:
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!