# Dawn

> Dawn is a self-hosted functional language with immutable data, ADTs, exhaustive matching, and effects in types. Compiles to JVM, C, and NVIDIA GPU via cuTile.

- **Category:** Developer Tools
- **Licence:** Apache-2.0
- **Latest version:** v0.102.0
- **Open source:** oss
- **Languages:** Python, Shell, MLIR
- **Platforms:** Java, Linux, Build from Source
- **Tags:** Gpu, Cuda, Jvm, Self Hosting, Lsp, Graalvm, Compiler, Functional Language, Effect System, Algebraic Data Types, Pattern Matching, Self Hosted Compiler, Jvm Backend, C Backend, GPU Programming, Cutile, Perceus Reference Counting, Compile Time Evaluation, Language Server Protocol, Bootstrapping, Bytecode, Language Design, Native Image, Programming Language, Type Inference, Tile Ir

## Description

Dawn is a compact functional programming language with immutable data structures, algebraic data types, and exhaustive pattern matching. Its effect system makes side effects explicit in function signatures. The compiler is self-hosted and targets two backends — JVM bytecode and C — with machine-verified identical output. A cuTile backend compiles Dawn functions to NVIDIA GPU kernels via CUDA Tile IR. Memory management uses Perceus reference counting with reuse analysis, eliminating the need for a garbage collector. The standard library is implemented entirely in Dawn. Distribution options include a static Linux binary and a cross-platform JVM toolchain JAR (requiring JDK 21+).

## Links

- [Homepage](https://github.com/dawnop/dawn-lang)
- [Website](https://dawn-lang.dawnop.com)
- [Demo](https://dawn-lang.dawnop.com/playground.html)
- [Documentation](https://dawn-lang.dawnop.com/tutorial/index.html)
- [Specification](https://dawn-lang.dawnop.com/spec.html)
- [Standard Library](https://dawn-lang.dawnop.com/stdlib.html)
- [Examples](https://dawn-lang.dawnop.com/examples/index.html)
- [GPU Backend](https://dawn-lang.dawnop.com/gpu.html)
- [Packages](https://dawn-lang.dawnop.com/packages.html)
- [GitHub Repository](https://github.com/dawnop/dawn-lang)
- [VS Code Extension](https://marketplace.visualstudio.com/items?itemName=dawnop.dawn-lang)

---
Source: https://selfhost.directory/project/dawn-lang