All Projects → jazz-lang → Jazz

jazz-lang / Jazz

Licence: GPL-3.0 license
Jazz - modern and fast programming language.

Programming Languages

rust
11053 projects

Projects that are alternatives of or similar to Jazz

Chromium Clang
Chromium browser compiled with the Clang/LLVM compiler.
Stars: ✭ 77 (-10.47%)
Mutual labels:  llvm
llvm-package-windows
Provides LLVM binary packages for an (almost) complete Windows build matrix. Built and packaged by GitHub Actions.
Stars: ✭ 77 (-10.47%)
Mutual labels:  llvm
Batch-First
A JIT compiled chess engine which traverses the search tree in batches in a best-first manner, allowing for neural network batching, asynchronous GPU use, and vectorized CPU computations.
Stars: ✭ 27 (-68.6%)
Mutual labels:  llvm
CMLFS
Clang-Built Musl Linux From Scratch
Stars: ✭ 51 (-40.7%)
Mutual labels:  llvm
mlir-hs
Haskell bindings for MLIR
Stars: ✭ 53 (-38.37%)
Mutual labels:  llvm
data-mediator
a data mediator framework bind callbacks for any property
Stars: ✭ 66 (-23.26%)
Mutual labels:  compile-time
LLVM-Obfuscator
LLVM Obfuscator
Stars: ✭ 44 (-48.84%)
Mutual labels:  llvm
LOWLLVM
参照着OLLVM写的一个混淆库,只要机器上有装LLVM,就可以直接编译拿来用
Stars: ✭ 46 (-46.51%)
Mutual labels:  llvm
YuLang
The Yu (羽) programming language.
Stars: ✭ 46 (-46.51%)
Mutual labels:  llvm
llvm-semantics
Formal semantics of LLVM IR in K
Stars: ✭ 42 (-51.16%)
Mutual labels:  llvm
OS-CFI
Origin-sensitive Control Flow Integrity (OS-CFI) - USENIX Security 2019
Stars: ✭ 27 (-68.6%)
Mutual labels:  llvm
llvm-compile-time-data
LLVM compile-time performance data over time.
Stars: ✭ 16 (-81.4%)
Mutual labels:  llvm
open-ops
Open Optimizing Parallelizing System
Stars: ✭ 21 (-75.58%)
Mutual labels:  llvm
mollusc
Pure-Rust libraries for parsing, interpreting, and analyzing LLVM
Stars: ✭ 49 (-43.02%)
Mutual labels:  llvm
imp
Compiler for IMP programming language implemented in Haskell
Stars: ✭ 16 (-81.4%)
Mutual labels:  llvm
Star-lang-specification
Work in progress specs for the Star programming language
Stars: ✭ 26 (-69.77%)
Mutual labels:  llvm
ctrt
Compile-Time Ray Tracer in Rust ported from C++
Stars: ✭ 82 (-4.65%)
Mutual labels:  compile-time
manyclangs
Repository hosting unofficial binary pack files for many commits of LLVM
Stars: ✭ 125 (+45.35%)
Mutual labels:  llvm
verificarlo
A tool for debugging and assessing floating point precision and reproducibility.
Stars: ✭ 51 (-40.7%)
Mutual labels:  llvm
Rugby
🏈 Cache CocoaPods for faster rebuild and indexing Xcode project
Stars: ✭ 448 (+420.93%)
Mutual labels:  compile-time

Jazz

Jazz - JIT/AOT compiled programming language that uses gccjit for emitting machine code.

Roadmap

You can see roadmap there: Jazz Roadmap

TODO

  • comptime functions DONE!
  • Macros
  • Jazz2C++ Translator DONE!
  • Struct initialization: DONE!

Building book

$ cd book
$ mdbook build
$ mdbook serve

Now you can open http://localhost:3000/ in your browser.

Example code

Factorial:

import "std/libc.jazz"
func factorial(x: i32) i32 {
    if x == 0 {
        return 1;
    } else {
        return factorial(x - 1) * x;
    }
}

pub func main() i32 {
    printf("%i\n",factorial(5));

    return 0;
} 

Building

  1. Install libgccjit with version >= 9: Fedora Linux
    sudo dnf install libgccjit-devel
    
    Ubuntu Linux
    sudo apt install libgccjit-9-dev
    
  2. Run cargo build --release
  3. Run cargo install --path .

Libraries and programs written in Jazz

  • AllegroJazz Jazz bindings to Allegro 5 library.
    • Snake Snake game written in Jazz using AllegroJazz library
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].