• katariina-jarvenmaki released this 2026-04-05 07:39:04 +00:00 | 0 commits to main since this release

    First release of Tampiorama — an annotated example showcase for Tampio, a natural-language OOP language that uses Finnish grammar and compiles to JavaScript.

    What's included

    Examples

    Eight working, annotated .itp programs covering the breadth of the language:

    Example Demonstrates
    basics/hello.itp Page-load entry point, browser alert
    basics/factorial.itp Recursive methods, ternary branching
    basics/fibonacci.itp Recursion, predecessor chaining for n-2
    data-structures/lista.itp Built-in list: iteration, sorting
    data-structures/vektori.itp Custom class with fields and recursive methods
    strings/merkkijono.itp String length, concat, trim, comma-split
    async/nappi.itp DOM click handlers, mutable state
    program/kasvutaulukko.itp Recursion and list iteration combined

    Documentation

    • docs/cheatsheet.md — Finnish grammatical cases mapped to their roles in Tampio syntax, full arithmetic operator reference
    • docs/vs-javascript.md — Side-by-side Tampio and JavaScript comparisons
    • docs/install.md — Local setup without Docker (Ubuntu/Debian and macOS)
    • docs/testing.md — Step-by-step guide for verifying each example

    Infrastructure

    • Docker + docker-compose.yml — zero-setup environment with libvoikko and fi-x-morpho dictionary included
    • Makefile — builds all .itp sources to .html with make
    • Compiled HTML excluded from version control — only Tampio source is committed

    Getting started

    git clone https://github.com/fergusq/tampiorama.git
    cd tampiorama
    make
    python3 -m http.server 9994 --directory examples
    

    Open http://localhost:9994/basics/index.html.

    Notes

    • Tampio method names must be single Finnish words that the Voikko morphology library can inflect — this shapes what's possible and is documented throughout the examples
    • The Docker image handles the libvoikko and fi-x-morpho dictionary setup automatically; see docs/install.md for native installation
    Downloads