CatpileDocs
CatLang DSL Documentation

Build CatWeb apps
with a human-readable DSL.

Catpile compiles .cat source files to CatWeb JSON. Python-like syntax, a full compiler pipeline, and a web editor at cpile.bouyakhsass.com.

Get StartedLanguage Reference
hello.catFull quickstart →
on loaded:
    log("Hello, CatWeb!")
    WIDTH, HEIGHT = input_get_viewport()
    BOARD_SIZE = HEIGHT * .9
    TILE_SIZE = BOARD_SIZE / 8

on pressed("startButton"):
    if eq(DATA_LOADED, 1):
        show("gameArea")
        hide("menu")

Documentation

Language Reference

CatLang syntax, variables, events, actions, and control flow.

  • Syntax & Indentation
  • Scope System
  • 14 Event Types
  • 122 Actions

Compiler Internals

How Catpile transforms .cat files into CatWeb JSON.

  • 7-Stage Pipeline
  • IR & AST
  • Optimizer Passes
  • Emitter

Guides

Installation, quickstart, project system, and decompiling.

  • Installation
  • 10-minute Quickstart
  • Project System
  • Color Reference

Examples

Real-world CatLang projects with annotated code.

  • Hello World
  • Interactive Button
  • Full Chess Board