50 lines
2.1 KiB
Markdown
50 lines
2.1 KiB
Markdown
# Tampiorama — Project Plan
|
|
|
|
This is a project plan for open source showcase for Tampio, the Finnish natural-language OOP language. Tampio is a Python-based compiler that takes Finnish-syntax source files and compiles them 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/ ← async/Promise in the compiled JS output
|
|
└── program/ ← small "real" program
|
|
```
|
|
|
|
## Docker
|
|
|
|
- Base image: Ubuntu 24.04
|
|
- Installs: `libvoikko-dev`, `voikko-fi`, Python 3, `python3-libvoikko`, clones tampio from GitHub
|
|
- Note: Tampio is not on PyPI or npm — installed directly from source
|
|
- A `/usr/local/bin/tampio` wrapper makes it callable as a plain command
|
|
- Goal: `docker compose run --rm tampio` gives a working shell 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
|