Tish Documentation

A minimal, TS/JS-compatible language designed for both interpretation and native compilation. Same source runs identically in either backend.

Quick Start

# Install and run
brew install tish
 
# Run with interpreter
echo 'console.log("sup")' > sup.tish
tish run sup.tish
 
# Or run piped source (stdin)
echo 'console.log("sup")' | tish
 
# Or compile to native binary
tish build sup.tish -o sup
./sup

What is Tish?

Tish is a scalable language built in Rust that:

  • Looks like JavaScript — familiar syntax with let, const, fn, arrows, template literals
  • Runs two ways — interpret for fast iteration, compile to native for production
  • Is secure by default — network, filesystem, and process APIs are feature-gated
  • Has no undefined — uses null only; strict equality, memory safety

Documentation

SectionDescription
Getting StartedInstall Tish, build your first app
Editor & IDEVS Code, LSP, tasks, Neovim
Language servertish-lsp capabilities
Formattingtish-fmt
Lintingtish-lint
Interactive REPLMulti-line input, tab completion, history, colored output
LanguageSyntax, keywords, semantics
Tish vs JavaScriptDifferences and additions from JS
BuiltinsConsole, Math, JSON, Array, String, Object
Featureshttp, fs, process, regex — feature-gated APIs
Deployzectre

Improve this documentation