Compile to C
OSM is transpiled to C, giving the project a direct route into the established C toolchain.
OSM is an open-source language project focused on expressive syntax, small binaries, C interoperability and an integrated toolbox — from libraries and networking to GUI and databases.
OSM aims to keep the expressive, low-footprint spirit of Rebol-like languages while growing into a practical, versatile programming environment.
OSM is transpiled to C, giving the project a direct route into the established C toolchain.
The goal is small, dependency-light binaries rather than a heavyweight runtime.
If functionality is part of OSM, the philosophy is that you should not need a separate include statement just to use it.
The project wishlist goes well beyond a minimal compiler.
GUI support is part of the language's intended feature set.
Database functionality is part of the planned/integrated toolbox.
Networking is explicitly included in the OSM goals.
Create and use libraries, including foreign C libraries through FFI.
Bignum support is part of the project's feature set.
Control over the compilation process is one of the project's original goals.
OSM deliberately questions conventions when they add complexity without helping the programmer.
OSM is heavily inspired by Rebol and by Meta Programming Language (R.I.P. metaproject.frl ). The project values expressive syntax, dialects, flexible parsing and ways to handle things without unnecessary ceremony.
OSM uses 1-based indexing for programmer-facing arrays while keeping the underlying machine addresses where they belong.
Both π and τ are available. Even though tau is twice as big, they are equal to OSM. Pick the constant that makes the expression clearer.
Because OSM has its own answer.
The project deliberately gives 132 its own little place in OSM lore.
OSM is a learning and open-source project. It is work in progress — and that is part of the point.
Grab the sourcecode at Codeberg / iMountain / OSM.
Explore the syntax, compiler pipeline and language ideas. OSM follows Meta closely while adding its own wishlist.
Ideas, improvements and contributions are welcome. The philosophy explicitly favors small steps at a time.
Try the language, test the compiler and help discover what the language should become.