awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
odin-lang avatar

odin-lang/Odin

0
View on GitHub↗
9,806 stars·903 forks·Odin·zlib·39 viewsodin-lang.org↗

Odin

Odin is a compiled, statically typed systems programming language designed for high-performance software development. It focuses on pragmatic low-level memory control, providing a toolset for manual memory management and precise control over hardware utilization.

The language is distinguished by its flexible memory model, which includes custom allocators and precise data layout capabilities to optimize resource usage. It features a comprehensive foreign function interface for importing assembly files and linking with external libraries using configurable calling conventions.

The type system supports parametric polymorphism for generic procedures and data structures, as well as discriminated unions and runtime type introspection. Additional core capabilities include enforced result handling, deferred execution, and the ability to embed binary assets directly into the compiled program.

Odin includes a built-in multi-threaded testing framework with integrated memory leak detection, timeout management, and failure reporting.

Features

  • High-Performance Systems Programming - Designed for high-performance systems programming with precise control over memory layout and hardware utilization.
  • Custom Memory Allocators - Supports custom allocator interfaces for precise control over memory allocation strategies.
  • Manual Memory Management Utilities - Provides explicit allocation procedures and custom allocators for precise resource management.
  • Enforced Result Handling - Ensures return values from critical procedures are explicitly handled to prevent silent failures.
  • Union Types - Supports discriminated unions (sum types) that track the active member via a tag for safe runtime switching.
  • Discriminated Unions - Implements discriminated unions that use internal tags for safe runtime type switching.
  • Polymorphic Logic - Enables the creation of functions and types that work with multiple data types using explicit type parameters.
  • Foreign Function Interfaces - Implements a comprehensive foreign function interface for importing libraries and assembly files.
  • Multiple Return Values - Supports multiple return values from procedures using both named and unnamed variables.
  • Parametric Polymorphism - Provides a parametric polymorphism engine for creating generic procedures and data structures.
  • Systems and Performance Languages - A compiled language specifically designed for high-performance systems development and low-level memory control.
  • Statically Typed Languages - Enforces type constraints at compile time while supporting parametric polymorphism and discriminated unions.
  • Type Conversion and Casting - Implements explicit type casting and bit-cast transmutes for low-level memory manipulation.
  • Generic Data Structures - Allows the definition of reusable data structures that operate across multiple types using explicit or implicit parameters.
  • Automated Test Runners - Ships a built-in multi-threaded test runner that executes procedures across multiple packages.
  • Memory Layouts - Enables efficient data packing using bit fields and specific record layouts for cache-efficient processing.
  • Data Locality Optimizers - Supports organizing records as arrays of structures or structures of arrays to maximize hardware acceleration.
  • Conditional Compilation - Supports conditional compilation based on constant expressions to handle platform-specific code.
  • Asset Embedding - Embeds static resources and string hashes directly into the compiled program binary.
  • Game Development Engines - Supports game engine development through high-performance data structures and memory-aligned records for cache efficiency.
  • Binary Asset Embedding - Allows embedding file contents and directory structures directly into the executable binary during compilation.
  • Deferred Execution - Provides a deferred execution mechanism to run cleanup code automatically upon exiting a scope.
  • Calling Conventions - Provides low-level control over calling conventions to ensure compatibility with foreign system binaries.
  • Implicit Context Passing - Uses implicit context passing to modify library behavior like logging and allocation without global state.
  • Runtime Introspection - Stores type and module metadata in the binary for runtime examination of the program structure.
  • Type Narrowing Assertion - Provides runtime type assertions to convert union or abstract types into concrete forms.
  • Standard Library Implementations - Includes a standard library providing core and vendor-provided packages for common systems programming tasks.
  • Cross-Platform Development - Provides tools and strategies for building portable software that functions across multiple operating systems and platforms.
  • Implicit Context Management - Implements implicit context management to intercept and modify behaviors like logging and allocation.
  • Memory Alignment Utilities - Ensures data structures are aligned and packed in memory to reduce waste and speed up parallel processing.
  • Bit-Packed Storage - Provides bit-packed records and specialized fields to minimize memory footprint and optimize hardware alignment.
  • Zero-Overhead Abstractions - Compiles high-level features into efficient machine code to minimize execution overhead and maximize hardware utilization.
  • Built-in Testing Frameworks - Ships a built-in multi-threaded testing framework with memory leak detection and timeout management.
  • Memory Leak Detection - Integrates memory allocation monitoring during tests to detect and report memory leaks.
  • Test Execution Timeouts - Includes test timeout management to terminate tests that run too long or enter infinite loops.
  • Code Examples - Comprehensive demonstration of language features.

Star history

Star history chart for odin-lang/odinStar history chart for odin-lang/odin

How this analysis was created: This summary and feature list are AI-generated from collected project material and can contain mistakes. Stars, license and language are imported from GitHub. Inclusion does not mean that we have tested or audited this project. Check the source documentation for any feature you depend on. Learn more on our About page.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Frequently asked questions

What does odin-lang/odin do?

Odin is a compiled, statically typed systems programming language designed for high-performance software development. It focuses on pragmatic low-level memory control, providing a toolset for manual memory management and precise control over hardware utilization.

What are the main features of odin-lang/odin?

The main features of odin-lang/odin are: High-Performance Systems Programming, Custom Memory Allocators, Manual Memory Management Utilities, Enforced Result Handling, Union Types, Discriminated Unions, Polymorphic Logic, Foreign Function Interfaces.

Which projects share features with odin-lang/odin?

Projects with overlapping indexed features include: c3lang/c3c — c3c is the compiler for the C3 programming language, transforming source code into executable binaries, static… crystal-lang/crystal — Crystal is a statically typed, compiled programming language designed for high performance and memory safety. It… nim-lang/nim — Nim is a statically typed, compiled systems programming language designed for high performance and cross-platform… nasa/fprime — F Prime is a component-based framework designed for the development and deployment of embedded and spaceflight… jetbrains/kotlin — Kotlin is a statically typed, general-purpose programming language designed for type safety and concise syntax. It… electronicarts/eastl — EASTL is a C++ Standard Template Library implementation consisting of containers, iterators, and algorithms. It…

Projects sharing features with Odin

These projects share indexed features with Odin. Shared tags can include platform or build tooling; verify the primary use case before treating a result as a replacement.
  • c3lang/c3cc3lang avatar

    c3lang/c3c

    5,147View on GitHub↗

    c3c is the compiler for the C3 programming language, transforming source code into executable binaries, static libraries, or dynamic libraries using an LLVM backend. It implements a system based on result-based error handling, scoped memory pooling, and a semantic macro system. The compiler provides first-class support for hardware-backed SIMD vectors that map directly to processor instructions and enables runtime polymorphism through interface-based dynamic dispatch. The project covers a broad set of low-level capabilities, including manual and pooled memory management, inline assembly inte

    C3c3compilerlanguage
    View on GitHub↗5,147
  • crystal-lang/crystalcrystal-lang avatar

    crystal-lang/crystal

    20,299View on GitHub↗

    Crystal is a statically typed, compiled programming language designed for high performance and memory safety. It leverages an LLVM-based compiler to translate source code into optimized machine-executable binaries, while its type-inference-based static analysis enforces strict safety rules during the build process. The language distinguishes itself through a fiber-based concurrent runtime that manages lightweight execution units for asynchronous input and output without blocking the main process. It also features a powerful compile-time macro system that allows for the inspection and transfor

    Crystalcompilercrystalcrystal-language
    View on GitHub↗20,299
  • nim-lang/nimnim-lang avatar

    nim-lang/Nim

    18,071View on GitHub↗

    Nim is a statically typed, compiled systems programming language designed for high performance and cross-platform development. It translates high-level source code into C, C++, or JavaScript, allowing developers to produce efficient native binaries or web-compatible scripts from a single codebase. The language emphasizes a clean, indentation-based syntax that simplifies code hierarchy while maintaining the power of a full-featured systems language. What distinguishes Nim is its robust metaprogramming framework, which allows developers to inspect, modify, and generate code structures during th

    Nimcompilerefficienthacktoberfest
    View on GitHub↗18,071
  • nasa/fprimenasa avatar

    nasa/fprime

    10,766View on GitHub↗

    F Prime is a component-based framework designed for the development and deployment of embedded and spaceflight software. It provides a modular architecture that decouples software logic from communication interfaces, allowing developers to define system structures through a domain-specific modeling language. This model-based approach enables automated code generation, ensuring consistency across complex system topologies while maintaining strict interface contracts between software modules. The framework distinguishes itself through its integrated build system and ground data operations suite

    C++componentscppembedded
    View on GitHub↗10,766
  • Compare all 30 related projects→