Go to file
Zachary Pierson 8becbdc1b2 Added a very basic Linux standard library shamelessly stolen from the MacOS one.
Made Linux (almost) work. The generated binaries segfault, but it's so close I can almost taste it.
2017-02-07 00:28:21 -06:00
2016-09-21 18:31:01 +01:00
2016-11-22 20:29:46 +00:00
2017-02-06 21:47:58 -06:00
2017-01-29 20:15:16 +00:00
2017-02-06 21:47:58 -06:00
2016-07-07 21:47:33 +01:00
2016-11-23 14:41:20 +00:00
2017-02-06 21:47:58 -06:00
2016-08-16 12:33:11 +01:00
2016-11-17 22:58:00 +00:00

Odin logo

The Odin 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
  • metaprogramming
  • designed for good programmers

Demonstrations:

Requirements to build and run

  • Windows

    • x86-64
    • MSVC 2015 installed (C99 support)
    • LLVM installed
    • Requires MSVC's link.exe as the linker
      • run vcvarsall.bat to setup the path
  • MacOS

    • x86-64
    • LLVM explicitly installed (brew install llvm)
    • XCode installed (for the linker)
  • GNU/Linux

    • x86-64
    • Build tools (ld)
    • LLVM installed

Warnings

  • This is still highly in development and the language's design is quite volatile.
  • Syntax is not fixed.

Roadmap

Not in any particular order

  • Compile Time Execution (CTE)
    • More metaprogramming madness
    • Compiler as a library
    • AST inspection and modification
  • CTE-based build system
  • Replace LLVM backend with my own custom backend
  • Improve SSA design to accommodate for lowering to a "bytecode"
  • SSA optimizations
  • Parametric Polymorphism ("Generics")
  • Documentation Generator for "Entities"
  • Multiple Architecture support
  • Language level atomics and concurrency support
  • Debug Information
    • pdb format too
  • Command Line Tooling
  • Compiler Internals:
    • Big numbers library
    • Multithreading for performance increase
Languages
Odin 75.5%
C++ 15.6%
C 8.3%
Python 0.3%
JavaScript 0.2%