Grain is a programming language that compiles to WebAssembly.
Grain addresses the need for a language designed specifically for WebAssembly compilation. It takes a functional programming approach and compiles through Binaryen to produce WebAssembly output. The language is built with a complete compiler toolchain and command-line interface to support development workflows.
Grain suits developers building WebAssembly applications who prefer functional programming paradigms. The project provides comprehensive documentation through its official guide to help new users get started. Those considering adoption should review the language documentation at grain-lang.org to understand its syntax and capabilities, as well as consult the contributing guide to understand the community structure.
The project maintains active continuous integration workflows. The codebase is written in Reason and includes a code of conduct for contributors. The project actively invites contributions across multiple areas and maintains community engagement through a dedicated Discord channel.