Files
cell/docs/index.md
2025-12-10 15:18:53 -06:00

1.2 KiB

Preface: The Cell Environment

image

Cell is an actor based scripting language.

The idea is to author c code and orchestrate it using cell script, in an actor based environment, and deploy it on many platforms.

Building code

There are two ways to run cell:

The dev environment is highly dynamic and available only on platforms with dynamic library loading. It lets you spawn actors and test quickly.

Cake is a static builder for cell, which lets you bundle a package into a static executable for a variety of target platforms.

Packages

Cell doesn't assume an underlying file system.

Packages are the fundamental cell unit. A package is made up of a variety of cell script files and potentially C files. When bundling, everything in a package is bundled together; when running in dev, everything in a package is loaded dynamically.

Cell code is written with cellscript.

Modules and programs

A module returns a single object. This can be a function, an object of functions, a number, a string, whatever. It is included with the "use" keyword, ie, use('/').

A program doesn't return anything. A program is an actor, with its own memory space. Actors do not share memory. Actors can send messages to each other.