Sen descrición

Ginger Bill 1356dfeec2 Fix SUBSYSTEM for link.exe %!s(int64=8) %!d(string=hai) anos
bin 33bd3f635f Remove the need for clang %!s(int64=9) %!d(string=hai) anos
code b07ee9ec23 Fix problem with `odin build` %!s(int64=8) %!d(string=hai) anos
core 915b5cdab7 Rename llir -> ir %!s(int64=8) %!d(string=hai) anos
misc 3517f96668 Remove: string overloads; defer %!s(int64=8) %!d(string=hai) anos
src 1356dfeec2 Fix SUBSYSTEM for link.exe %!s(int64=8) %!d(string=hai) anos
.gitignore 50301557b2 Untyped `nil` %!s(int64=9) %!d(string=hai) anos
LICENSE fb45287e9e Fix import/export rules for #import as . %!s(int64=8) %!d(string=hai) anos
README.md f567983260 Semicolons mandatory again (and probably forever now...) %!s(int64=8) %!d(string=hai) anos
build.bat 915b5cdab7 Rename llir -> ir %!s(int64=8) %!d(string=hai) anos
compile_time_execution_problems.md 3ce044f84f Add general timings for sections of the compiler %!s(int64=8) %!d(string=hai) anos
libs.txt 7430008fd7 Initial Commit %!s(int64=9) %!d(string=hai) anos
logo-slim.png 7792f009b8 Numpty forgot to add .c files %!s(int64=8) %!d(string=hai) anos
roadmap.md f567983260 Semicolons mandatory again (and probably forever now...) %!s(int64=8) %!d(string=hai) anos
run.bat 5da6b74567 Compile with odin.exe and no run.bat %!s(int64=9) %!d(string=hai) anos
todo.md 24ca106521 v0.0.3 Build %!s(int64=8) %!d(string=hai) anos

README.md

Odin logo

The Odin Programming Language

Odin 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)
  • Requires MSVC's link.exe as the linker
    • run vcvarsall.bat to setup the path

Warnings

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

Roadmap

Not in any particular order

  • Custom backend to replace LLVM
    • Improve SSA design to accommodate for lowering to a "bytecode"
    • SSA optimizations
    • COFF generation
    • linker
  • Type safe "macros"
  • Documentation generator for "Entities"
  • Multiple architecture support
  • Inline assembly
  • Linking options
    • Executable
    • Static/Dynamic Library
  • Debug information
    • pdb format too
  • Command line tooling
  • Compiler internals:
    • Big numbers library