Glyph is a statically typed language that transpiles to clean TypeScript. Exhaustive matching, no hidden control flow, and a syntax built so AI tools can read, write, and refactor your code without breaking it.
npm install -g @glyphlang/glyph
record User { id: string, email: string, role: Role,} fn welcome(user: User) -> Result<string, Error> { match user.role { Role.Admin => Ok("Welcome back, admin"), Role.Member => Ok("Hello, ${user.email}"), Role.Guest => Err(Error.Unauthorized), }}
type User = { id: string; email: string; role: Role;}; function welcome(user: User): Result<string, Error> { switch (user.role) { case Role.Admin: return Ok("Welcome back, admin"); case Role.Member: return Ok(`Hello, ${user.email}`); case Role.Guest: return Err(Error.Unauthorized); }}
Exhaustive matches, typed errors, and no implicit any.
If it compiles, the gaps are caught at build time, not in review.
One canonical way to write each construct. Search finds every call site because there is no shorthand to hide behind.
Records, tagged unions, and generics that lower to idiomatic TypeScript you would have written by hand.
A deterministic formatter and stable syntax keep diffs small, so agent edits stay reviewable.