Tampiorama

A showcase for Tampio, a natural-language object-oriented programming language that uses Finnish grammar and compiles to JavaScript.

Tampiorama provides working, annotated examples and documentation to help you explore Tampio without wrestling with its native dependencies.

Quickstart (Docker)

The easiest way to try Tampio, no manual libvoikko setup required.

Compile all examples to HTML (the .html files are not committed — they're generated from the .itp sources):

make

Then serve locally and open in your browser:

python3 -m http.server 9994 --directory examples

Open http://localhost:9994/basics/index.html for the full example index, or go directly:

URL What it does
http://localhost:9994/basics/hello.html Alerts "Hei maailma!" on load
http://localhost:9994/basics/factorial.html Prompts for n, displays n!
http://localhost:9994/basics/fibonacci.html Prompts for n, displays fib(n)
http://localhost:9994/data-structures/lista.html List sorted ascending and descending
http://localhost:9994/data-structures/vektori.html Custom class, Euclidean length of [3,4] = 5
http://localhost:9994/strings/merkkijono.html String length, concat, trim, split
http://localhost:9994/async/nappi.html Click handlers, mutable counter (visual tally)
http://localhost:9994/program/kasvutaulukko.html Factorial and Fibonacci sequences for n=1..7

What is Tampio?

Tampio programs read like Finnish sentences. Methods are defined using grammatical cases, so the language's syntax is shaped by natural-language morphology rather than punctuation.

Pienen luvun kertoma on
	riippuen siitä, onko se pienempi tai yhtä suuri kuin yksi,
	joko yksi
	tai pieni luku kerrottuna pienen luvun edeltäjän kertomalla.

pienen luvun kertoma — "the factorial of a small number". The parameter pieni luku (small number) appears in genitive case before the method name, and the recursive call pienen luvun edeltäjän kertomalla reads as "by the factorial of the predecessor of the small number".

See docs/cheatsheet.md for a map of Finnish grammatical cases to their roles in Tampio code, and docs/vs-javascript.md for side-by-side comparisons with JavaScript.

Examples

Directory Contents
examples/basics/ Hello world, factorial, Fibonacci
examples/data-structures/ Built-in list operations, custom class
examples/strings/ String length, concat, trim, split
examples/async/ DOM click handlers, mutable state
examples/program/ Capstone combining recursion and list iteration

Testing

See docs/testing.md for a step-by-step guide to verifying each example.

Local Setup (without Docker)

See docs/install.md for instructions on installing libvoikko and tampio natively.

License

MIT

S
Description
A showcase of Tampio — the programming language that codes in Finnish.
Readme
5.1 MiB
2026-04-05 07:39:04 +00:00
Languages
Dockerfile 74.3%
Makefile 25.7%