# Runa: A little language you can read

> Lexer → Pratt parser → tree-walking interpreter with closures + recursion, zero-dep. Now with arrays, while loops, assignment, and higher-order builtins (map/filter/reduce). run(src)→{output,result,error} makes the pipeline testable; 18 tests drive real programs.

Runa is a small, readable programming language with a complete interpreter pipeline: a lexer, a Pratt parser, and a tree-walking interpreter supporting closures and recursion. It now handles arrays, while loops, assignment, and higher-order builtins like map, filter, and reduce, and the run(src) function returns output, result, and error so the whole pipeline is testable - 18 tests run real programs. It is a from-scratch, zero-dependency build you can download and run locally.

## About the app

Language design

## What to take away

- Lexer → Pratt parser → tree-walking interpreter with closures + recursion, zero-dep. Now with arrays, while loops, assignment, and higher-order builtins (map/filter/reduce). run(src)→{output,result,error} makes the pipeline testable; 18 tests drive real programs.
- Download: Runa (ZIP)

## Tags

Free software, Runa

## Read the full write-up

/downloads/runa.zip

## We build this for clients

https://dfieldsolutions.com/en/services/full-stack

## More from the lab

- https://dfieldsolutions.com/en/lab/sylex.md — Sylex: Make sense of the slashes
- https://dfieldsolutions.com/en/lab/kindra.md — Kindra: Miss a beat, not the rhythm
- https://dfieldsolutions.com/en/lab/voxara.md — Voxara: Argue better. Lose gracefully
- https://dfieldsolutions.com/en/lab/wraithward.md — Wraithward: Spot the bait before you bite

---

Source: https://dfieldsolutions.com/en/lab/runa
DField Solutions — Torony köz 5-1.a, 2120 Dunakeszi, Hungary — +36 20 722 0002 — dezso@dfieldsolutions.com
Booking: see https://dfieldsolutions.com/en/contact
