Readable syntax.
Compiled to native C.
Dorpn is a statically-typed language with Python-like syntax that compiles straight to C — giving you clear, expressive code with the raw performance of a native executable.
Const APP_NAME = "Dorpn"
func greet(name :String) -> String:
return "Welcome to " + APP_NAME + ", " + name
func _Start():
tag user = ask("What's your name? ")
print(greet(user))
print("*".repeat(30))
Built for clarity and speed
Dorpn combines the readability of scripting languages with the performance guarantees of a compiled systems language.
Compiles to native C
Every Dorpn program is lexed, parsed, semantically checked, then transpiled to C and handed to GCC — producing a real, native executable.
Static, strict typing
Six built-in types — Int, Float, String, Bool, plus
Int32 and Float32 — with compile-time type checking and predictable promotion
rules.
Python-inspired syntax
Indentation-scoped blocks, tag for variables, and clean control flow keywords like
loop, keep, and if / elif / else.
Immutable constants
Const gives you compile-time guaranteed immutability for configuration values, invariants, and
application metadata.
No garbage collector
Memory is managed deterministically through the generated C code — no GC pauses, no hidden runtime overhead.
Simple CLI workflow
One binary, one command. Compile, run, inspect generated C, or get verbose compiler diagnostics — all via a
single dorpn CLI.
JavaScript target v0.4.0+
The same .dpn source can also compile straight to JavaScript with -js — one
language, two runtimes: native for systems work, JS for scripting and the web.
The compilation pipeline
From source text to a native executable, in six deterministic stages.
(.dpn)
& Tokens
& AST
Analyzer
Generation
Executable
Everything you need to write Dorpn
Structured guides and a complete API reference for the v0.4.x release series.
Quickstart Guide
Output, input, conditionals, loops, functions & more
Variables & Scope
tag, Const, lexical scoping & shadowing
Type System
Core types, annotations, inference & memory model
Operators
Arithmetic, comparison & logical operators explained
Built-in Functions
print, ask, type, min/max & more
Built-in Methods
String methods — .repeat(), .flip(), .alter()
FAQ
Installation, errors, performance & language questions
Source on GitHub
Follow releases & track development progress
Ready to write your first Dorpn program?
Download the latest release binary — no build step required — and compile your first .dpn file in
minutes.
