Compiler toolchain for the GSAM language.
Project description
GSAM
GSAM compiler and execution engine
Installation
pip install gsam
About
GSAM is a compiler and execution engine built around a graph-based computation model. It is designed for extensibility, where external “Materials” define behavior and execution logic in a modular way.
Instead of traditional linear execution, GSAM represents programs as graphs of nodes, enabling flexible control flow, parallel execution patterns, and pluggable runtime behavior.
Syntax Overview
Refer to the Semantics Example for detailed syntax descriptions and usage.
? comment block (multi-line via indentation)
lines starting with indentation are treated as part of the comment
- parent node
= variable assignment
@ keyword_argument
+ value
+ positional_argument
> next node option
Example
Hello World
? use console material
$ console
? "log" node comes from "console"
- log
+ "Hello, GSAM!"
Architecture
GSAM is built as a graph-native execution system with layered components:
Pipeline
Source code flows through:
- Parsing
- Intermediate Representation (IR)
- Graph construction
- Execution
Execution Engine
- Execution Queue (node scheduling)
- Execution Clusters (parallel groups)
- Execution Stack (scoped runtime context)
- Memory Bank (runtime state storage)
Materials System
- External modules defining execution behavior
- Plug-in style extensibility
- Core engine remains minimal and generic
Core Artifacts
- Data nodes (computation units)
- Execution units (runtime tasks)
- Memory structures (state persistence)
Design Philosophy
GSAM follows a minimal and explicit design approach:
- Graph-native execution model
- Extensible through external modules called “Materials”
- Minimal assumptions in the core engine
- Clear separation between syntax, execution, and behavior
Status
GSAM is under active development.
The architecture and APIs may evolve as the system matures.
Links
- PyPI: https://pypi.org/project/gsam/
- GitHub: https://github.com/graphscript-labs/gsam
- License: https://github.com/graphscript-labs/gsam/tree/main/LICENSE
Made with <3 by AttAditya
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file gsam-0.1.0.tar.gz.
File metadata
- Download URL: gsam-0.1.0.tar.gz
- Upload date:
- Size: 10.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f1eb5b1d92f98e38c3a56967599ddcee31ff10c4e5460b1a067300bc7ada2dfe
|
|
| MD5 |
548b57f31eeb96cf8e3f50219bcea346
|
|
| BLAKE2b-256 |
00aaeff292877927dd02225f216db35c562058e0e24de2d4199a51594dc27486
|
File details
Details for the file gsam-0.1.0-py3-none-any.whl.
File metadata
- Download URL: gsam-0.1.0-py3-none-any.whl
- Upload date:
- Size: 14.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
125642b60644396c25fce56caffe20c466a884d60dd8a2b44cf346e882a7a45e
|
|
| MD5 |
0cb9c8e17671b373e1fe59bc3f5e580a
|
|
| BLAKE2b-256 |
582bad5e60dc005d88e326a0859a17ad155dd52dd959cf2946dbce9f9ce0f0dd
|