--- title: "Documentation" description: "ƿit language documentation" type: "docs" --- ![image](/images/wizard.png) ƿit is an actor-based scripting language for building concurrent applications. It combines a familiar C-like syntax with the actor model of computation, optimized for low memory usage and simplicity. ## Key Features - **Actor Model** — isolated memory, message passing, no shared state - **Immutability** — `stone()` makes values permanently frozen - **Prototype Inheritance** — objects without classes - **C Integration** — seamlessly extend with native code - **Cross-Platform** — deploy to desktop, web, and embedded ## Quick Start ```javascript // hello.ce - A simple actor print("Hello, ƿit!") $stop() ``` ```bash pit hello ``` ## Language - [**ƿit Language**](/docs/language/) — syntax, types, and operators - [**Actors and Modules**](/docs/actors/) — the execution model - [**Requestors**](/docs/requestors/) — asynchronous composition - [**Packages**](/docs/packages/) — code organization and sharing ## Reference - [**Built-in Functions**](/docs/functions/) — intrinsics reference - [text](/docs/library/text/) — text conversion and manipulation - [number](/docs/library/number/) — numeric conversion and operations - [array](/docs/library/array/) — array creation and manipulation - [object](/docs/library/object/) — object creation, prototypes, and serialization ## Standard Library Modules loaded with `use()`: - [blob](/docs/library/blob/) — binary data - [time](/docs/library/time/) — time and dates - [math](/docs/library/math/) — trigonometry and math - [json](/docs/library/json/) — JSON encoding/decoding - [random](/docs/library/random/) — random numbers ## Tools - [**Command Line**](/docs/cli/) — the `pit` tool - [**Testing**](/docs/testing/) — writing and running tests - [**Writing C Modules**](/docs/c-modules/) — native extensions ## Architecture ƿit programs are organized into **packages**. Each package contains: - **Modules** (`.cm`) — return a value, cached and frozen - **Actors** (`.ce`) — run independently, communicate via messages - **C files** (`.c`) — compiled to native libraries Actors never share memory. They communicate by sending messages, which are automatically serialized. This makes concurrent programming safe and predictable. ## Installation ```bash # Clone and bootstrap git clone https://gitea.pockle.world/john/cell cd cell make bootstrap ``` The ƿit shop is stored at `~/.pit/`. ## Development After making changes, recompile with: ```bash make ``` Run `cell --help` to see all available CLI flags.