A fast, concise, readable, pragmatic and open sourced programming language.
The Odin programming language is fast, concise, readable, pragmatic and open sourced. It is designed with the intent of replacing C with the following goals:
- simplicity
- high performance
- built for modern systems
- 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);
}
Instructions for downloading and install the Odin compiler and libraries.
An overview of the Odin programming language.
Answers to common questsions about Odin.
A wiki maintained by the Odin community.
Get live support and talk with other odiners on the Odin Discord.
The official Odin Language specification.
The official blog of the Odin programming language, featuring announcements, news, and in-depth articles by the Odin team and guests.
Odin only supports x86-64 at the moment (64-bit), relies on LLVM for code generation and an external linker.
In addition, the following platform-specific steps are necessary:
-
Windows
- Have Visual Studio installed (MSVC 2010 or later, for the linker)
- Have a copy of
opt.exe
andllc.exe
inOdin/bin
. Pre-built Windows binaries can be found here and must be explicitly copied - Open a valid command prompt:
- Basic: run the
x64 Native Tools Command Prompt for VS2017
shortcut bundled with VS 2017, or - Advanced: run
vcvarsall.bat x64
from a blankcmd
session
- Basic: run the
-
MacOS
- Have LLVM explicitly installed (
brew install llvm
) - Have XCode installed (version X.X or later, for linking)
- Make sure the LLVM binaries and the linker are added to your
$PATH
environmental variable
- Have LLVM explicitly installed (
-
GNU/Linux
- Have LLVM installed (opt/llc)
- Have Clang installed (version X.X or later, for linking)
- Make sure the LLVM binaries and the linker are added to your
$PATH
environmental variable
Then build the compiler by calling build.bat
(Windows) or make
(Linux/MacOS). This will automatically run the demo program if successful.
Notes for Linux:: The compiler currently relies on the core
and shared
library collection being relative to the compiler executable. Installing the compiler in the usual sense (to /usr/local/bin
or similar) is therefore not as straight forward as you need to make sure the mentioned libraries are available. As a result, it is recommended to simply explicitly invoke the compiler with /path/to/odin
in your preferred build system, or add /path/to/odin
to $PATH
.
Please read the Getting Started Guide for more information.
Please read the Getting Started Guide.
-
Windows
- x86-64
- MSVC 2010 installed (C++11 support)
- LLVM binaries for
opt.exe
,llc.exe
, andlld-link.exe
- Requires MSVC's link.exe as the linker
- run
vcvarsall.bat
to setup the path
- run
-
MacOS
- x86-64
- LLVM explicitly installed (
brew install llvm
) - XCode installed (for the linker)
-
GNU/Linux
- x86-64
- Build tools (ld)
- LLVM installed
- Clang installed (temporary - this is Calling the linker for now)
- This is still highly in development and the language's design is quite volatile.
- Syntax is not fixed.
- First Talk & Demo
- Composition & Refactorability
- Introspection, Modules, and Record Layout
- push_allocator & Minimal Dependency Building
- when, for & procedure overloading
- Context Types, Unexported Entities, Labelled Branches
- Bit Fields, i128 & u128, Syntax Changes
- Default and Named Arguments; Explicit Parametric Polymorphism
- Loadsachanges
- Packages, Bit Sets, cstring