Home Docs Download About Contact
Download

Introduction

What Prism is, what it isn't, and when you should reach for it.

Getting Started Updated 2026-08-01 Edit this page

Prism is a modern systems programming language for building native software. It compiles to standalone binaries, manages its own packages, ships a language server, and comes with a UI toolkit — one toolchain for the whole job.

This page answers the first three questions people ask. The rest of this book assumes you have Prism installed and are ready to write code.

What Prism is

  • A compiled language. Source goes to native machine code through a self-hosted compiler. No interpreter, no virtual machine, no runtime to deploy.
  • Memory safe. Ownership and borrow checking catch use-after-free, double-free and data races at compile time.
  • A full toolchain. prism is one binary that builds, tests, runs, packages and publishes your projects.
  • A native UI toolkit. PrismX compiles declarative markup to the platform’s real widgets — no webview.
  • One ecosystem. A single package registry, a single lockfile format, one way to do things.

What Prism is not

  • Not a toy. Prism is designed for real systems: services, CLIs, games, native applications.
  • Not a web framework. It compiles to WebAssembly when you need it, but the web is one target among seven, not the center of the design.
  • Not stable yet. The language is evolving quickly. Breaking changes are expected until v1.0, and that is fine — now is the easiest time to fix a mistake.

When to use Prism

Use Prism when you want one codebase to reach desktop, mobile, web and headless environments, and you care about the quality of the binary you ship. If you need maximum ecosystem maturity today, an older language may serve you better. If you want to help build the default for the next twenty years, welcome aboard.

The quick tour

fn main() {
    let name = "developer"
    println("Hello, " + name + "!")
}

Save that as hello.prism and run it:

prism run hello.prism

The compiler, the standard library, the package manager and the language server are all part of the same release. Update one, and the others update with it.

Note: the language server activates automatically in supported editors. If you use VS Code, install the Prism extension and your editor will find the server.

Continue to installation to set Prism up on your machine.