Cell

image

Cell is an actor-based scripting language for building concurrent applications. It combines a familiar JavaScript-like syntax with the actor model of computation.

Key Features

  • Actor Model — isolated memory, message passing, no shared state
  • Immutabilitystone() 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

// hello.ce - A simple actor
log.console("Hello, Cell!")
$_.stop()
cell hello

Documentation

Standard Library

  • text — string manipulation
  • number — numeric operations
  • array — array utilities
  • object — object utilities
  • blob — binary data
  • time — time and dates
  • math — trigonometry and math
  • json — JSON encoding/decoding
  • random — random numbers

Architecture

Cell 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

# Clone and bootstrap
git clone https://gitea.pockle.world/john/cell
cd cell
make bootstrap

The Cell shop is stored at ~/.cell/.