# minc > minc is a minimal C replacement for building native software. One 1.9 MB > compiler binary compiles .mc source files directly to native executables — > no assembler, no linker, no external toolchain — for Windows x64, Linux x64 > and arm64, macOS and iOS arm64, Android arm64, and WebAssembly. A JIT, > shader compiler, SIMD vector types, debugger and LSP are built into the > same binary. Current release: v0.9.14. minc reads like C, and most C reasoning carries over, but a handful of differences apply at every keystroke: no preprocessor and no header files, no undefined behaviour (signed overflow wraps, out-of-bounds indexing traps), `cast(T, x)` rather than `(T)x`, `p.field` auto-dereference rather than `->`, `import` rather than `#include`, and `when os(linux) { }` rather than `#ifdef`. Bounds checking is on in every build unless `--unchecked` is passed. Code written on C habits alone will not compile. AGENTS.md is the short path to minc that compiles on the first try. LANGUAGE.md is the complete reference. Compile with `minc file.mc`; check types without producing a binary with `minc file.mc --check`. ## Docs - [AGENTS.md](https://minc.dev/AGENTS.md): Every difference from C that changes what you type, the house style, and an annotated example program. Read this first. Dropping the file into a project root makes agent tools pick it up automatically. - [LANGUAGE.md](https://minc.dev/LANGUAGE.md): The complete language reference — types, declarations, statements, expressions, generics, modules, built-in functions, standard library, C interop, inline shaders, compiler flags, and the cross-platform numerics contract. - [llms-full.txt](https://minc.dev/llms-full.txt): AGENTS.md and LANGUAGE.md concatenated, to load the whole language in one fetch. - [Language reference in HTML](https://minc.dev/docs/): The same reference rendered for reading, with a table of contents. - [FAQ](https://minc.dev/faq.html): What minc is for, how it is licensed, which platforms it supports, and how it compares to C. ## Example programs Working minc source — the fastest way to see idiomatic shape and style. - [hello.mc](https://minc.dev/playground/examples/hello.mc): The smallest program — `i32 main()`, the built-in `print`, no imports. - [mandelbrot.mc](https://minc.dev/playground/examples/mandelbrot.mc): An animated zoom drawn in the terminal. Float math, nested loops, per-frame output. - [minesweeper.mc](https://minc.dev/playground/examples/minesweeper.mc): A complete game — state in structs and arrays, input handling, pixels written straight into an RGBA buffer. - [raytracer.mc](https://minc.dev/playground/examples/raytracer.mc): A Whitted-style raytracer displayed through sokol. Structs, built-in vector types, recursion. - [sokol_cube.mc](https://minc.dev/playground/examples/sokol_cube.mc): A 3D app — window, GPU pipeline, and an `@shader` function written in minc itself rather than in HLSL or GLSL. - [minc-samples](https://github.com/SpacesOfPlay/minc-samples): The full sample set that ships with the SDK, as a git repository. ## Standard library Modules are pulled in by name (`import math;`). There are no header files — each module is one readable .mc file, and its source is its documentation. - [Module list](https://minc.dev/playground/lib/index.json): The modules bundled with the compiler. - [math.mc](https://minc.dev/playground/lib/math.mc): Trigonometry, exponentials, rounding and constants, in f64 and f32 forms. - [str.mc](https://minc.dev/playground/lib/str.mc): The `str` type — building, formatting, parsing and comparing length-carrying byte slices, with no null terminators. - [file.mc](https://minc.dev/playground/lib/file.mc): Cross-platform file open, read, write, seek and size queries. - [linear.mc](https://minc.dev/playground/lib/linear.mc): Vector and matrix math over the built-in `float2`/`float3`/`float4` and `float4x4` types. - [vec.mc](https://minc.dev/playground/lib/vec.mc): A generic dynamic array, `Vec` — also a compact example of how generics are written. - [sokol_all.mc](https://minc.dev/playground/lib/sokol_all.mc): Windowing, graphics and input; the bindings behind the graphical examples. ## Getting minc - [Install](https://minc.dev/install-script.html): One-line install for Windows, macOS and Linux. - [Download](https://minc.dev/download.html): Direct SDK downloads per platform. - [Releases](https://github.com/SpacesOfPlay/minc-dev/releases): Release notes and earlier versions. - [Playground](https://minc.dev/playground/text.html): Compile and run minc in the browser, with nothing installed. ## Optional - [Graphics playground](https://minc.dev/playground/gfx.html): The in-browser compiler with a canvas attached, for the graphical examples. - [box3d-minc](https://github.com/SpacesOfPlay/box3d-minc): 3D rigid-body physics. - [raylib-minc](https://github.com/SpacesOfPlay/raylib-minc): raylib bindings. - [thirteen-minc](https://github.com/SpacesOfPlay/thirteen-minc): Open a window, get a pointer to RGBA pixels. A minc port of Atrix256/Thirteen. - [godot-minc](https://github.com/SpacesOfPlay/godot-minc): Godot samples, including JIT-compiled minc. - [uefi-x64-minc](https://github.com/SpacesOfPlay/uefi-x64-minc): Bare-metal UEFI and kernel samples. - [picotls-minc](https://github.com/SpacesOfPlay/picotls-minc): A TLS stack built on picotls. - [tsmc](https://github.com/SpacesOfPlay/tsmc): A TypeScript/Node-compatible runtime written in minc. - [Issue tracker](https://github.com/SpacesOfPlay/minc-dev/issues): Bug reports and feature requests.