ScienceLogo

Humans first in AI science.
Human-centered scientific workflows in the AI era.
Latest tagged release: None yet
Documentation source: local checkout
ScienceLogo is a Logo-inspired language for describing scientific workflows that people can read and inspect. It aims to keep the purpose, structure, assumptions, and conditions of a method understandable to people, including when AI participates. Compact and verbose syntax express the same language and can be mixed in one file.
Using this manual
Start with Getting started, then use Syntax to find a form or naming rule. The remaining pages move from values and procedures to stages, propositions, uncertainty descriptions, data sources and storage, reusable definitions, and declared checks. Compact and verbose syntax explains the equivalent spellings; Compact grammar collects the reference grammar and parsing rules.
The specification index groups the language contracts and separates them from design rationale and earlier notes. Those notes explain the project’s development; they do not add language rules.
Reference implementation
The Racket package provides a reader, a core interpreter, and a structural assessor. The reader validates source and preserves a model of the written method. The interpreter evaluates values, procedure calls, assignments, branches, and loops. Paired stages describe work and its entry and exit state; their bodies are read and checked without being executed. Data source and storage assignments describe transfers without performing them.
The structural assessor checks declared calls, stage order, workflow parts, and record requirements. Scientific assessments of protocol conformance, bias, or uncertainty belong to independent applications using the language. Assessment support explains the information available to those applications and the scope of the package’s structural checks.