Skip to content
Zachary Pierson edited this page Dec 2, 2017 · 40 revisions

Welcome to the Odin wiki! Here you will be able to find a collection of information about the Odin Programming Language.

Contributing

This wiki is open to editing by anyone with a GitHub account. Please open an issue in the Odin issue tracker with the prefix wiki if you would like to add, remove or rename any wiki page.

Table of Contents

Getting started with Odin

Odin is dead-simple to get started with!
Clone the repository (recommended, git clone https://github.com/gingerBill/Odin) or download the latest release

For Windows...

There's a couple prerequisites here. First, make sure you have Visual Studio installed; you have to compile Odin from source, and Odin also requires link.exe from VS anyway. Also, you'll need to download a couple LLVM binaries and move the bin folder in that zip file into your Odin directory. These are used internally by the compiler.

Now, it's time to build Odin and get started! Open the X64 Visual Studio command prompt (if you don't typically use it, here's how to find it) and navigate to the directory where you downloaded Odin. Run the build.bat file, and you should have a successfully built Odin compiler!

For Mac and *Nix...

For Linux, make sure you have llvm and clang installed through your package managers.
For macOS, make sure you've installed the Xcode command-line tools (xcode-select --install), then install LLVM. If you use Homebrew, you can run brew install llvm to do this.

Now navigate to the Odin directory in your terminal, use make or ./build.sh, and you should have a newly-built, fresh Odin compiler!

Updating the compiler

For a compiler that's in-development like Odin, things move fast. Make sure you keep your compiler up-to-date by running git pull and then rebuilding every now and then. (or, if you use releases, redownload and rebuild)

Odin Features and Examples

Roadmap

All of this is subject to change at any time.
This is the overall theme or one of the biggest changing in the version, it most likely isn't the only change/new feature in the version

  • v0.8 - Debugging Symbols (In Progress)
  • v0.9 - Custom Backend
  • v0.10 - Compile Time Execution
  • v0.11 - Core Library Improvements
  • v0.12 - ???

Community

Compiler Demos

Community Libraries

Platform Specific Information

Version History

Clone this wiki locally