Skip to content

hexalang/Hexa

Folders and files

NameName
Last commit message
Last commit date

Latest commit

80c5897 · Sep 19, 2024
Jul 14, 2024
Jul 27, 2024
Jul 13, 2024
Feb 10, 2024
Sep 19, 2024
Sep 19, 2024
Jun 3, 2022
May 26, 2024
Apr 18, 2024
Feb 10, 2024
Oct 29, 2019
May 9, 2024
Jul 15, 2023
Apr 4, 2021
Aug 6, 2021
Jun 9, 2018
Jul 29, 2019
Jul 2, 2023
Jan 24, 2022
Jul 3, 2024
Jun 9, 2018
Jul 2, 2023
Jan 24, 2022
Jun 12, 2022
Jun 12, 2022
Dec 19, 2020
May 9, 2024
Apr 5, 2021
Apr 5, 2021
Dec 19, 2020

Repository files navigation

Hexa

Her name is [Geksa]

Telegram Chat Discord GitHub Feed Blog Book Website

Hexa is a high level, strictly typed programming language that compiles to JavaScript and native apps

Try Hexa online without installation

GitHub Sponsor Patreon Donate Telegram feed

Key features of Hexa

  • JavaScript-inspired syntax and behavior, feel yourself like at home!
  • Native performance with static types and optimizing compiler
  • Follows node.js (and browser) API
  • Fast compilation
  • Compiles to JavaScript, WebAssembly, osdev, LLVM, C, C++, ObjC, ... you name it! (WIP)
  • Transpilation to almost anything: Lua, AutoCAD Lisp, C#, PHP, etc (WIP)
  • Produces human-readable code for all targets
  • Null safety, crash resistance, pattern matching, classes (WIP)
  • Real multithreading, parallelism, async\await, no GC (WIP)
  • Smart type inference makes other typed languages look boring
  • Friendly and helpful error messages
  • Supports #!shebang and scripting (just call hexa script.hexa)
  • REPL (enable with just hexa command)
  • Metaprogramming with syntax-tree, generics and contracts (WIP)
  • Completely cross-platform
  • We are working on optional memory ownership model (similar to borrow checker) and side effects system (WIP)

WIP — Work in progress, coming soon

Download

  • kawaii is the development branch and accepts pull requests
  • artifacts are built from each kawaii branch commit

Stable

Unstable

Tools & IDE

AI Autocomplete

Install Codeium then open .hexa file and confirm experimental Hexa support.

Study

Build

You need to download latest long-term Node.js LTS. The Hexa Compiler is written in Hexa itself. Pre-built compiler (bootstrapper) already included in the repo.

git clone --recursive --depth 100 https://github.com/hexalang/Hexa.git
cd Hexa
node bootstrap.js hexa.json
node hexa-node.js hexa.json
# This results in a `hexa-node.js` file in the root of the repo
# Call `node hexa-node.js project.json` to build your projects

You may now add the folder into your PATH.

Learn more about compiler development

License

See LICENSE files for full license texts and headers of each file (files in same directory may use different licensing models). If license is not mentioned in header then LICENSE file in upper directory level to be considered.

Compiler and some tools are under Lesser GPL 3.0 (feel free to include as a library in closed source projects), standard libraries and examples are under MIT.