Statically typed, compiled systems programming language with no hidden behavior.
Mach is small and explicit. It has no garbage collector and no hidden allocation, and a single self-hosted toolchain builds, links, tests, formats, vendors dependencies, and cross-compiles.
- Editor Support
- Web Development
- Networking
- Cryptography
- Graphics
- Media
- GUI
- Game Development
- Applications
- Resources
- mach-lsp - Language server built on the compiler's own frontend, with diagnostics, navigation, rename, and call hierarchy.
- mach-vscode - Visual Studio Code extension with syntax highlighting kept in step with the compiler.
- mach-zed - Zed extension with highlighting, indentation, code outline, and a language server it downloads to match your compiler.
- mach-tree-sitter - Tree-sitter grammar for highlighting, folding, and indentation in Neovim, Helix, Emacs, and other Tree-sitter editors.
- mach.vim - Vim plugin with syntax highlighting, indentation, filetype detection, and a compiler setup.
- hedge - Web server for static files, applications, and reverse proxying over HTTP/1.1, HTTP/2, and HTTP/3, with native TLS 1.3 and ACME certificates. It serves machlang.org.
- laurel - Web application framework with typed handlers, middleware, sessions, CSRF protection, forms, streamed uploads, and server-sent events.
- mach-http - HTTP/1.1, HTTP/2, HTTP/3, and WebSocket engines, with a client that pools connections, follows redirects, and retries.
- mach-tls - TLS 1.2 and 1.3 clients and servers with X.509 path verification and session resumption.
- mach-crypto - SHA-2, HMAC, HKDF, AES-GCM, and ChaCha20-Poly1305 with secret-holding storage, published with its assurance evidence.
- mach-glfw - GLFW 3.4 bindings for windows, input, OpenGL contexts, and Vulkan surfaces.
- mach-gl - OpenGL 4.6 core bindings generated from the Khronos registry, with an idiomatic layer over the raw calls.
- mach-vk - Vulkan declarations generated from the Khronos registry, with commands loaded at runtime and nothing linked.
- mach-image - PNG, QOI, and TGA decoding and encoding with no C libraries.
- mach-font - TrueType parsing and glyph rasterization into coverage bitmaps, with no FreeType.
- mach-gltf - glTF 2.0 and GLB loader with materials, skins, animations, and morph targets.
- mach-audio - Audio output with mixing, resampling, DSP, and WAV decoding written in Mach over a minimal device layer.
- blit - Immediate-mode GUI that produces a draw list and leaves windowing and rendering to you.
- boom - 2D-first, 3D-capable game engine with a Vulkan renderer, shaders written in Mach, and skeletal animation.
- machete - UCI chess engine with a neural-network evaluation, multithreaded search, and hand-encoded AVX2 kernels, named for what it does to a variation tree.
- cellar - Interactive cellular-automata editor and visualizer built on weighted outer-totalistic kernels of any radius, with heat and age colour modes and pattern saving.
- DOOMACH - Port of the Doom engine and its shareware episode, with lockstep co-op and deathmatch over a relay, an OPL2 music synthesizer, and neural-network bots.
- Ramjet - Independent RAR-compatible archiver.
- Website - Install instructions, the language at a glance, and the full ecosystem catalog.
- Documentation - Language reference written to be read front to back.
- Discord - Official community chat.
Contributions are welcome. Read the contribution guidelines first.