Skip to content
/ jule Public

Simple and safe programming language with first-class C/C++ interoperability and powerful compile-time capabilities

License

Notifications You must be signed in to change notification settings

julelang/jule

The Jule Programming Language

Simple and safe programming language with built-in concurrency, first-class C/C++ interoperability and powerful compile-time capabilities.

This repository is the main source tree of Jule.
It contains the reference compiler, API, and the standard library.

Website | The Mission | Manual | Future of Jule | Contributing | Community

Key Features

  • Optimized for building fast, safe, and reliable software
  • Powerful compile-time system: reflection, evaluation, iterations, and more
  • Deterministic memory management with reference counting and smart pointers
  • Safety by default: immutability, bounds checking, no uninitialized memory, no variable shadowing
  • Built-in testing framework
  • Easy and efficient low-level development
  • Cross compilation made simple: standard library support, target-specific IR generation, and architecture imitation
  • Lightweight error handling with exceptionals, similar to optional types
  • Built-in concurrency: async runtime and coroutines, channels, mutexes, condition variables, and more
  • High interoperability with C, C++, Objective-C, and Objective-C++
  • C++ API for extending Jule or integrating with existing codebases

Important

Jule does not have a stable release yet and continues to improve with each commit. Some changes may be unstable or affected by compiler or API issues. If you encounter any problems, please report them through the Jule Issue Tracker. You can also join the Discord community to discuss the language, get help, or contribute to its development.

Why

We love the simplicity and developer experience of Go.

We love the efficiency and performance of C.

We recognize and respect the safety goals addressed by Rust, but we believe that safety should not require constantly fighting the compiler.

We want a language that delivers the productivity of Go while achieving the performance characteristics of C. A language that is safe by default, yet flexible enough to stay out of your way when you need full control.

Most importantly, we refuse to abandon existing C and C++ codebases or rewrite thousands of lines of proven code just to adopt a new language. We want more than temporary bridges or fragile workarounds. We want interoperability to be a first-class, intentional part of the language design.

Community

Contribute and get involved in our community.

Join Julenours to support Jule, explore, and interact with the community.
Our main community platforms:

Build from Source

If you want to get Jule from the source, there are many ways to do so. Jule has a bootstrapped compiler, so you'll need to have a working one first. There are two options to do this: obtain a binary from the releases or use the official IR. However, it is recommended to use IR as it is always up to date and ensures master branch compatibility.

If you already have a compiler, you can use build scripts designed for developers to compile julec. Remember, these are meant for developers, not for production use. They compile the compiler for debugging new source code.

Contributing

Any contribution to Jule is greatly appreciated, whether it's a typo fix, a brand new compiler feature, or a bug report.

The Jule project uses GitHub issues for things like proposals, bug reports, and security vulnerabilities. If you want to discuss anything, discussions is a better place to do that. If you are interested in reporting a security vulnerability, refer to our security policy.

Please read the Julenour Code of Conduct and the contribution guidelines before contributing.

License

The reference compiler, API, and standard library are distributed under the terms of the BSD 3-Clause license.
See License Details

About

Simple and safe programming language with first-class C/C++ interoperability and powerful compile-time capabilities

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Contributors 7