Skip to content

danielrmeyer/scas

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Warning: This is an experimental project.

SCAS

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.

Getting Started

From the repository root:

scala-cli repl .

Then import the typed API:

import scas.*

Examples And Docs

The worksheet sources live in worksheets/. The rendered browser output is generated from mdoc/index.html:

scripts/mdoc.sh

Open docs/index.html to view the rendered worksheet output locally. The GitHub Pages workflow also builds the mdoc output and deploys it from CI.

Project Structure

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

Attribution And License

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.

About

Scala Computer Algebra System

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors