libjuno 0.1.3

Library for JunoLang
docs.rs failed to build libjuno-0.1.3
Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.

JunoLang

A modern, statically typed systems programming language built on LLVM.

Status: Early development. Expect breaking changes.

Features

  • LLVM-based compiler
  • Written in Rust
  • Native module system
  • Strong static type system
  • Native code generation

Example

import ./othermodule.juno;

fn main() -> i32 {
    printf("Hello, World!\n");
    othermodule.say_hello("hi");
    return 0;
}

Installing

Install junocc

cargo install junocc

Building

Clone the repository:

git clone https://github.com/L0rdCycl0p/JunoLang
cd JunoLang

Build the compiler:

cargo build --release

Run:

cargo run -- examples/hello.juno

Using junocc

Compiling

junocc <files> -o [output]

example:

junocc examples/helloworld.juno examples/library.juno -o program

Roadmap

  • Lexer
  • Parser
  • AST
  • Semantic analysis
  • LLVM code generation
  • Basic optimizations
  • Structs
  • Enums
  • Generics
  • Trait system
  • Standard library
  • Package manager
  • Language server (LSP)

Philosophy

Juno aims to be a language that feels simple to read while still providing the power expected from a systems programming language.

The project embraces:

  • Explicitness over magic
  • Fast compilation
  • LLVM as the backend
  • Compile-time assets
  • Clean and readable syntax

License

This project is licensed under the MIT License.