Không có mô tả

Ginger Bill 6e1864d21c Remove all binaries 8 năm trước cách đây
code 9e8c9be1ea Allow pointers to `append`; Fix strconv stuff; `new_slice` allows for capacity 8 năm trước cách đây
core fb2d611dcd Update llvm binaries to latest version; Update utf8proc; 8 năm trước cách đây
misc 3517f96668 Remove: string overloads; defer 8 năm trước cách đây
src fb2d611dcd Update llvm binaries to latest version; Update utf8proc; 8 năm trước cách đây
.gitignore 6e1864d21c Remove all binaries 8 năm trước cách đây
LICENSE fb45287e9e Fix import/export rules for #import as . 8 năm trước cách đây
README.md e1fdd675ce v0.1.0 8 năm trước cách đây
build.bat fb2d611dcd Update llvm binaries to latest version; Update utf8proc; 8 năm trước cách đây
compile_time_execution_problems.md 3ce044f84f Add general timings for sections of the compiler 8 năm trước cách đây
libs.txt 7430008fd7 Initial Commit 9 năm trước cách đây
logo-slim.png 7792f009b8 Numpty forgot to add .c files 8 năm trước cách đây
roadmap.md f567983260 Semicolons mandatory again (and probably forever now...) 8 năm trước cách đây
run.bat 5da6b74567 Compile with odin.exe and no run.bat 9 năm trước cách đây
todo.md 24ca106521 v0.0.3 Build 8 năm trước cách đây

README.md

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)
  • 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 not fixed.

Roadmap

Not in any particular order and not be implemented

  • 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
  • Documentation Generator for "Entities"
  • Multiple Architecture support
  • Debug Information
    • pdb format too
  • Command Line Tooling
  • Compiler Internals:
    • Big numbers library
    • Multithreading for performance increase