Skip to content

✦ Tapio: A mobile-first, compile-to-JS programming language designed for low-friction typing with minimal syntax and unified data structures.

Notifications You must be signed in to change notification settings

DuncanWilder/tapio

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Tapio Programming Language

Tapio is a mobile-first, compile-to-JS programming language designed for low-friction typing. It prioritizes minimal syntax, indentation-based control flow, and unified data structures, making coding on touchscreens or with limited keyboards significantly easier.

🚀 Quick Start

Prerequisites

Tapio is built with Bun. You'll need to have it installed to build the project.

# Install Bun
curl -fsSL https://bun.sh/install | bash

Build from Source

Clone the repository and build the standalone binary:

git clone <your-repo-url>
cd tapio
bun install
bun run build

This will create a tapio executable in the bin/ directory.

Running Code

You can run .tapio files using the compiled binary:

./bin/tapio examples/example.tapio

Or run directly with Bun during development:

bun start examples/example.tapio

📂 Examples

Check out the examples/ directory for more sample code, including:

📖 Language Guide

1. Variables & Assignment

Context-aware assignment. = assigns values at the top level but checks equality inside conditions.

let x = 10
name = "Mobile"

2. Control Flow

Python-style indentation and colons. No curly braces {} required.

if x = 10:
  print "x is ten"
else:
  print "x is not ten"

3. Function Calls

Command-style syntax. No parentheses needed.

print "Hello World"
greet "Duncan"

4. Unified Data Structures

PHP-like arrays. Uses [] for both Lists and Key-Value Maps.

List:

items = [1, 2, 3]

Map:

user = [name: "Alice", age: 30]

5. Functions

Defined using the fn keyword.

fn greet name:
  print "Hello" name

🛠️ Development

  • Run Tests: bun test
  • Typecheck: bun run typecheck
  • Lint: bun run lint

About

✦ Tapio: A mobile-first, compile-to-JS programming language designed for low-friction typing with minimal syntax and unified data structures.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published