ethanolchik / hexa

:bowtie: Compiler, standard library & backends

Home Page:https://hexalang.github.io

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Hexa

Her name is [geksa]

Join the Gitter chat Telegram chatroom GitHub Feed Twitter Blog Book Build status Website

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

Try Hexa online without installation

AUR GIT DOCs and TODOs Donate Patreon Discord

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)
  • Transpilation produce 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

WIP — Work in progress, coming soon

Release of 0.1 expected in Fall 2019

Download

Stable

Coming Soon — no releases actually available, yet

Unstable

Tools & IDE

Study

Enjoy!

While compiler is in dev, here's some cool music to listen 🎧

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
# 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

Optionally to build .exe and add icon:

npm i -g nexe
nexe-build.bat

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.

About

:bowtie: Compiler, standard library & backends

https://hexalang.github.io

License:GNU Lesser General Public License v3.0


Languages

Language:C++ 89.3%Language:Batchfile 9.4%Language:Shell 1.3%