Skip to main content

Crate orco

Crate orco 

Source
Expand description

§orco

wakatime

IDK, S2S compiler? Developed on streams

§Goals

orco development is currently guided by those goals:

  1. Effortless language interop. It should be able to generate very easy bindings for libraries compiled through it. Ideally those bindings should work even with regular compilers when linking the library later.
  2. Being able to run the resulting code in any environment. Transpiling to C for compatibility with any platform, using native libraries, transpiling to JS or LUA.
  3. Following on #2, injecting runtime features, such as:
  • Hot code reloading
  • JIT
  • Debugging
  • Interpreting

§Roadmap for next few streams

You can watch me do this live on twitch Twitch and youtube Youtube Currently working with rust frontend and C backend (reference backend), going through some of rust by example and figuring out generics.

Re-exports§

pub use codegen::CodegenBackend;
pub use types::Type;
pub use sinter;

Modules§

attrs
Attributes are a way to pass information about a function to the backend
codegen
Code generation, outside of declaration Code generation APIs, used to actually define functions and generate code.
types
Type enums

Structs§

Symbol
An Interned string

Traits§

DeclarationBackend
Declare items before defining them. Think of it as an interface to generate C headers.