From 83d812e289c4208cf6265ebdcc85829b9278dac4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Katariina=20J=C3=A4rvenm=C3=A4ki?= Date: Sat, 28 Mar 2026 08:23:26 +0200 Subject: [PATCH] Kick off the project with README, .gitignore, and PLAN --- .gitignore | 18 ++++++++++++++++++ PLAN.md | 47 +++++++++++++++++++++++++++++++++++++++++++++++ README.md | 47 +++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 112 insertions(+) create mode 100644 .gitignore create mode 100644 PLAN.md create mode 100644 README.md diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..29115ae --- /dev/null +++ b/.gitignore @@ -0,0 +1,18 @@ +# Our fancy .gitignore + +# Node, nobody wants this in their repo, right? +node_modules/ +npm-debug.log* + +# Keep secrets local please! +.env + +# Editor junk, each to their own trash bin +.vscode/ +.idea/ +*.swp +*.swo + +# Mac and Windows breadcrumbs +.DS_Store +Thumbs.db diff --git a/PLAN.md b/PLAN.md new file mode 100644 index 0000000..310710b --- /dev/null +++ b/PLAN.md @@ -0,0 +1,47 @@ +# Tampiorama — Project Plan + +This is a project plan for project that's meaning is to be open source showcase for Tampio, the Finnish natural-language OOP language that compiles to JavaScript. + +## Project Goals + +- Provide working, annotated examples of Tampio code +- Document the language for English and Finnish speakers +- Make Tampio easy to try via Docker (no manual libvoikko setup) + +## Project Structure + +``` +tampiorama/ +├── Dockerfile +├── docker-compose.yml +├── README.md ← language tour (bilingual FI/EN) +├── docs/ +│ ├── cheatsheet.md ← grammatical cases → parameter roles +│ ├── install.md ← local setup without Docker +│ └── vs-javascript.md ← side-by-side comparisons +└── examples/ + ├── basics/ ← factorial, fibonacci, hello world + ├── data-structures/ ← lists, maps + ├── strings/ + ├── async/ ← Promise/async usage + └── program/ ← small "real" program +``` + +## Docker + +- Base image: Debian or Ubuntu (libvoikko available via apt) +- Installs: `libvoikko-dev`, Node.js, `tampio` (npm) +- Goal: `docker run` gives a working Tampio environment with no manual setup + +## Open Questions + +- [ ] Docs language: bilingual FI/EN or English only? (bilingual fits the theme) +- [ ] Scope: curated examples repo, or also a GitHub Pages web showcase / playground? +- [ ] Hosting: GitHub (likely — standard for open source) +- [ ] Is Tampio working locally? The libvoikko dependency can be tricky; Docker is the primary path until confirmed. + +## Notes + +- Project name: **Tampiorama** +- libvoikko local setup not yet confirmed working — Docker is the primary path +- `docs/cheatsheet.md` should cover annotated grammar constructs (Finnish cases → parameter roles) as well as raw syntax diff --git a/README.md b/README.md new file mode 100644 index 0000000..44a7f80 --- /dev/null +++ b/README.md @@ -0,0 +1,47 @@ +# Tampiorama + +A showcase for [Tampio](https://github.com/fergusq/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: + +```sh +docker compose run --rm tampio +``` + +This drops you into a shell with `tampio` available. Run any example: + +```sh +tampio examples/basics/hello.tampio +``` + +## 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. + +```tampio +[Tampio example will go here] +``` + +See [`docs/cheatsheet.md`](docs/cheatsheet.md) for a map of Finnish grammatical cases to their roles in Tampio code, and [`docs/vs-javascript.md`](docs/vs-javascript.md) for side-by-side comparisons with JavaScript. + +## Examples + +| Directory | Contents | +|-----------|----------| +| `examples/basics/` | Hello world, factorial, Fibonacci | +| `examples/data-structures/` | Lists, maps | +| `examples/strings/` | String manipulation | +| `examples/async/` | Promise / async usage | +| `examples/program/` | A small complete program | + +## Local Setup (without Docker) + +See [`docs/install.md`](docs/install.md) for instructions on installing `libvoikko` and `tampio` natively. + +## License + +MIT