Warning: This is an experimental project.
SCAS is a small symbolic algebra and mechanics playground in Scala 3. The active API is dimensionally typed and lives in the top-level scas package.
The current direction is to work through classical mechanics examples with compile-time dimensional checks, rendered mathematical output, and browser-viewable worksheets generated with mdoc.
From the repository root:
scala-cli repl .Then import the typed API:
import scas.*The worksheet sources live in worksheets/. The rendered browser output is generated from mdoc/index.html:
scripts/mdoc.shOpen docs/index.html to view the rendered worksheet output locally. The GitHub Pages workflow also builds the mdoc output and deploys it from CI.
scas/
├── mdoc/ # mdoc source for rendered docs
├── docs/ # generated browser output
├── scripts/mdoc.sh # mdoc build script
├── src/scas/ # active typed API
├── test/scas/ # tests for the typed API
├── worksheets/ # executable worksheet scripts
└── src/smile/cas/ # legacy untyped implementation retained for reference
SCAS is licensed under the GNU General Public License v3.0. See LICENSE for the full license text.
This repository still contains code derived from the Smile CAS module, which is also licensed under the GNU General Public License v3.0. The license and attribution are retained while that derived code remains in the repository.
New development should target the scas package.