soma.cell

Multi-file projects

Multi-file projects, in the reference of the Soma programming language (soma 3.2.4). A block marked ✓ is a whole program that soma check accepts; the others are excerpts.

project/
    app.cell          // main file
    lib/
        helpers.cell  // use lib::helpers
        scoring.cell  // use lib::scoring
    soma.toml         // config + peers + verify
// app.cell — `use` paths are resolved from the project root (the entry file's
// directory, else the nearest soma.toml): lib/scoring.cell says `use lib::helpers` too
use lib::helpers
use lib::scoring

cell App {
    on run() {
        let result = helper_function()   // from helpers.cell
    }
}