No description
Find a file
2025-07-24 22:34:13 +03:00
.github Try fix NetBSD CI 2025-07-11 15:47:55 +02:00
base Merge pull request #5442 from jon-lipstate/table_lookup 2025-07-22 11:14:54 +01:00
bin Fix broken asan on Windows. 2025-04-05 22:01:16 +02:00
ci ci: update to LLVM 20 on MacOS and Linux CI and releases 2025-04-02 21:13:10 +02:00
core Allow more characters in the parser 2025-07-24 12:15:41 +03:00
examples Add vendor:kb_text_shape to examples/all/all_vendor.odin 2025-06-20 09:05:50 +01:00
misc Parse odin version date out of HEAD commit if available 2025-05-13 18:09:30 +02:00
shared Update README.md 2018-12-27 10:51:15 +00:00
src Revert a change I had made, I guess 2025-07-24 22:34:13 +03:00
tests Fix Linux-specific optimized test failure 2025-07-22 10:40:16 -04:00
vendor SDL_image save functions should return bool 2025-07-19 18:51:51 -04:00
.editorconfig editorconfig: Use 2-column spaces in YAML 2023-10-26 20:18:48 -04:00
.gitattributes Tell Git to always treat Makefile and build_odin.sh as Nix EOL 2024-04-14 16:41:10 +02:00
.gitignore Add clangd stuff to gitignore 2025-07-11 16:58:47 +02:00
build.bat Parse odin version date out of HEAD commit if available 2025-05-13 18:09:30 +02:00
build_odin.sh Re-enable demo on *nix 2025-05-13 18:46:55 +02:00
build_vendor.bat Add cgltf to build_vendor.bat 2022-11-04 11:40:07 +00:00
check_all.bat Make check_all.sh executable, fix two typos 2025-06-19 20:03:37 -04:00
check_all.sh Make check_all.sh executable, fix two typos 2025-06-19 20:03:37 -04:00
codecov.yml Disable PR comments 2025-06-13 07:24:03 +02:00
flake.lock Add nix flake 2025-07-24 12:15:41 +03:00
flake.nix Fix build, yet again 2025-07-24 22:12:40 +03:00
LICENSE Update year 2024-03-27 00:58:21 +00:00
LLVM-C.dll Update to LLVM 20.1.0 2025-03-18 15:39:18 +00:00
Makefile add debug build message and align more with build.bat 2024-08-08 15:33:40 +02:00
PROPOSAL-PROCESS.md Fix typo 2020-11-03 07:40:17 -03:00
README.md Fix the CI badge URL 2025-04-09 07:46:44 +11:00
shell.nix Use LLVM 20 in shell.nix 2025-03-28 18:38:08 +01:00

Odin logo
The Data-Oriented Language for Sane Software Development.


The Odin Programming Language

Odin is a general-purpose programming language with distinct typing, built for high performance, modern systems, and built-in data-oriented data types. The Odin Programming Language, the C alternative for the joy of programming.

Website: https://odin-lang.org/

package main

import "core:fmt"

main :: proc() {
	program := "+ + * 😃 - /"
	accumulator := 0

	for token in program {
		switch token {
		case '+': accumulator += 1
		case '-': accumulator -= 1
		case '*': accumulator *= 2
		case '/': accumulator /= 2
		case '😃': accumulator *= accumulator
		case: // Ignore everything else
		}
	}

	fmt.printf("The program \"%s\" calculates the value %d\n",
	           program, accumulator)
}

Documentation

Getting Started

Instructions for downloading and installing the Odin compiler and libraries.

Nightly Builds

Get the latest nightly builds of Odin.

Learning Odin

Overview of Odin

An overview of the Odin programming language.

Frequently Asked Questions (FAQ)

Answers to common questions about Odin.

Packages

Documentation for all the official packages part of the core and vendor library collections.

Examples

Examples on how to write idiomatic Odin code. Shows how to accomplish specific tasks in Odin, as well as how to use packages from core and vendor.

Odin Documentation

Documentation for the Odin language itself.

Odin Discord

Get live support and talk with other Odin programmers on the Odin Discord.

Articles

The Odin Blog

The official blog of the Odin programming language, featuring announcements, news, and in-depth articles by the Odin team and guests.

Warnings

  • The Odin compiler is still in development.