Kick off the project with README, .gitignore, and PLAN
This commit is contained in:
+18
@@ -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
|
||||||
@@ -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
|
||||||
@@ -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
|
||||||
Reference in New Issue
Block a user