mirror of
https://github.com/odin-lang/Odin.git
synced 2026-01-04 20:17:48 +00:00
cff1b3dff6d169675309d3f7a8433ed55b9a2007
Fix enumerations to so they work as integers in indices; Add llir_opt.c and llir_print.c
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:
- First Talk & Demo
- Composition & Refactorability
- Introspection, Modules, and Record Layout
- push_allocator & Minimal Dependency Building
Requirements to build and run
- Windows
- x86-64
- MSVC 2015 installed (C99 support)
- Requires MSVC's link.exe as the linker
- run
vcvarsall.batto setup the path
- run
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
Languages
Odin
75.5%
C++
15.6%
C
8.3%
Python
0.3%
JavaScript
0.2%