https://github.com/nerdalytics/tinywhale
A tiny programming language that compiles to WebAssembly
https://github.com/nerdalytics/tinywhale
Last synced: 4 months ago
JSON representation
A tiny programming language that compiles to WebAssembly
- Host: GitHub
- URL: https://github.com/nerdalytics/tinywhale
- Owner: nerdalytics
- License: mit
- Created: 2025-11-24T08:56:49.000Z (7 months ago)
- Default Branch: main
- Last Pushed: 2026-01-28T13:25:10.000Z (5 months ago)
- Last Synced: 2026-01-29T00:07:00.498Z (5 months ago)
- Language: TypeScript
- Size: 519 KB
- Stars: 1
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Agents: AGENTS.md
Awesome Lists containing this project
README
# TinyWhale
A tiny programming language that compiles to WebAssembly.
## Project Structure
This is a monorepo managed with [pnpm](https://pnpm.io/) workspaces:
- **`packages/compiler`** - The TinyWhale compiler library
- **`packages/cli`** - Command-line interface for TinyWhale
- **`packages/diagnostics`** - Shared diagnostic types and definitions
- **`packages/lsp`** - Language Server Protocol implementation
## Prerequisites
- [mise](https://mise.jdx.dev/) - Development tool version manager and task runner
- Node.js 24.13.0 (automatically installed via mise)
- pnpm 10.28.1 (automatically installed via mise)
## Getting Started
1. Install mise if you haven't already:
```bash
curl https://mise.run | sh
```
2. Install tools and dependencies:
```bash
mise install
mise run install
```
## Available Tasks
All tasks are defined in `mise.toml` and run via mise:
- `mise run install` - Install dependencies
- `mise run build` - Build all packages
- `mise run test` - Run tests
- `mise run check` - Lint and format (Biome, with auto-fix)
- `mise run typecheck` - TypeScript type checking
- `mise run clean` - Clean build artifacts
- `mise run generate-grammar` - Regenerate Ohm grammar bundles
- `mise run cli ` - Run the TinyWhale CLI
## Development
The project uses mise as the task runner. All tasks are defined in `mise.toml`.
## License
MIT