50 lines
2.1 KiB
Markdown
50 lines
2.1 KiB
Markdown
# Tampiorama v1.0
|
|
|
|
First release of Tampiorama — an annotated example showcase for [Tampio](https://github.com/fergusq/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
|
|
|
|
```sh
|
|
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
|