Home - Jai-Community/Jai-Community-Library GitHub Wiki

Welcome

Welcome to the Jai Community Library Wiki!

This is the place to learn about Jai. Content will be developed by the community for the community.

If you are a Jai beta user and want to contribute, ask for an invite in the Jai Secret Beta Discord! Only members of the Jai-beta have writing access.

The awesome-jai repository collected resources regarding Jai up to now. This Wiki continues the effort: see page References.

Table of Contents

  1. Home
  2. Overview
    1. History
    2. Licensing
    3. Current State
    4. Performance
    5. Compiler Internals
    6. Features
    7. What will NOT be in Jai
    8. Comparison with Other Languages
    9. Compiler Videos vs Current State of the Language
  3. Getting Started
    1. Running Jai
    2. Hello, World!
    3. #import and #load
    4. Variables, constants, and types
    5. Reserved Keywords and Identifiers
    6. Arrays
    7. Loops and Branching
    8. Functions
    9. Macros
    10. Structures
    11. Unions
    12. Enums
    13. Using on Structs, Unions, and Enums
    14. Types and Type Info
    15. Identifier Backslash
  4. Advanced
    1. void Type and return
    2. Operator Overloading
    3. Polymorphism
    4. Context
    5. Modules
    6. Module Parameters
    7. Temporary Storage
    8. Stack Trace
    9. Compiler Directives
    10. Program Entry Point Details
    11. Cache Alignment
    12. Inline Assembly
    13. #bytes and Adding binary data
    14. Deprecated
  5. Metaprogramming
    1. Introduction
    2. Directives
    3. Default Metaprogram
    4. Workspaces
    5. Build Options
    6. Compiler Message Loop
    7. Compiler Messages
    8. Notes
    9. Debug and Production Builds
    10. Running Tests
    11. Enforcing House Rules
    12. Generating and Using LLVM Bitcode
    13. Programming LLVM Options
  6. Modules and Libraries
    1. Preload
    2. Basic
    3. Array
    4. File
    5. String
    6. Math
    7. GLFW
    8. SIMP
    9. Machine x64
    10. Process
    11. GetRect
    12. Threads
    13. Pool
    14. Hash Table
  7. Snippets / Benchmarks
    1. Functions/Macros
    2. Debugging
    3. Metaprogramming
    4. Assembly Language
    5. Concurrency
    6. Function and Struct Polymorphism
    7. Benchmarks
    8. Troubleshooting
  8. Philosophy of Jai
    1. Design Philosophy
    2. Thoughts of Jon
    3. Quotations and Interesting Excerpts
    4. Questions and Answers
    5. Future Goals
    6. Temperance
  9. References
    1. Community Libraries
    2. Example Code
    3. Other Guides and Documentation
    4. Tooling Ecosystem
    5. Resources