dist_agent_lang — Documentation index

Version: 1.0.8 (Beta) Last updated: 2026-03-03 License: Apache 2.0


Quick navigation

Section Description Start here if...
Getting started Install, first program, first agent You're new to DAL
Agent development Agent setup, skills, persistent memory, molds You're building agents
Language reference Syntax, types, attributes You need syntax details
Standard library All 30 stdlib modules You need API docs
CLI reference All commands You need CLI help
Blockchain and hybrid Multi-chain, trust models, security You're integrating blockchain
IDE and agent integration LSP, editor setup, agent tools You're setting up an editor
Project state Shipped vs planned; gap checklist You maintain releases or audit docs
Configuration Environment variables index You deploy or set keys / policies
Examples Code samples and tutorials You learn by example

Getting started

Installation

# From Cargo (recommended)
cargo install --git https://github.com/okjason-source/dist_agent_lang.git dist_agent_lang --bin dal

# From source
git clone https://github.com/okjason-source/dist_agent_lang.git
cd dist_agent_lang && cargo build --release

# From binary
# Download from GitHub Releases: https://github.com/okjason-source/dist_agent_lang/releases/latest

Requirements: Rust 1.70+ (Install Rust)

First program

@trust("hybrid")
service HelloWorld {
    fn main() {
        print("Hello, dist_agent_lang!");
    }
}
dal run hello.dal

First agent

mkdir my-agent && cd my-agent
dal init agent
dal agent serve
# Agent running at http://localhost:4040

Guides:


Agent development

DAL is agent-first. Agents are native language constructs with lifecycle operations (spawn, coordinate, communicate, evolve), persistent memory, composable skills, and HTTP serving.

Guide What it covers
Agent Setup and Usage Project setup, CLI, HTTP server, DAL APIs, molds, evolve context
Skills and Registry Built-in and custom skills, .skill.dal format, programmatic encouragement, runtime registration
Persistent Agent Memory Runtime persistence, backends (file/SQLite), configuration, schema versioning
Agent Capabilities Capability definition, validation, and per-type/per-agent configuration
Mold Format .mold.dal syntax, lifecycle hooks, principal vs mold trust
Fleet deployment CLI walkthrough (dal agent fleet …), .dal/fleets.json, deploy/run/health/export
Comprehensive Agent Plans Agent reasoning, fleet, mold config, off-chain implementation

Key concepts


Language reference

Core concepts

DAL is a multi-paradigm, dynamically-typed language hosted in a Rust interpreter. Programs are executed with dal run.

Files


Standard library

30 modules covering agents, AI, blockchain, data, web, IoT, security, and administration.

Module Purpose Key functions
agent Agent lifecycle spawn(), coordinate(), communicate(), evolve()
ai AI/ML operations generate_text(), classify(), embed(), analyze_text()
chain Blockchain deploy(), call(), get_balance(), transfer()
crypto Cryptography hash(), sign(), verify(), encrypt()
auth Authentication create_user(), login(), validate_token()
database Database ops query(), connect(), migrate()
evolve Context management load(), append_conversation(), append_log()
mold Agent molds load(), spawn_from(), list()
trust Trust models validate_hybrid_trust(), authorize()
oracle Data feeds fetch(), stream(), verify()
web HTTP get_request(), post_request()
log Logging info(), warn(), error()
cloudadmin Cloud admin authorize(), grant(), audit_log()
iot IoT devices connect_device(), read_sensor()
mobile Mobile integration Platform-specific APIs
desktop Desktop integration System-level APIs
config Configuration get_env(), get_database_config()
aml Anti-money laundering perform_check(), get_status()
kyc Know Your Customer verify(), get_verification()
sh Shell execution run() with trust controls

Full reference: STDLIB_REFERENCE.md — Machine-readable with complete signatures, parameters, return types, and examples.

Module guides:


CLI reference

Command Description
dal run <file> Execute a DAL file
dal agent serve Start agent HTTP server
dal agent create <type> <name> Create an agent
dal agent chat [name] Interactive agent chat
dal agent send <from> <to> "<msg>" Send message between agents
dal agent task assign <id> "<desc>" Assign task to agent
dal agent mold list List local molds
dal init agent Initialize agent project
dal check <file> Syntax check
dal fmt <file> Format code
dal lint <file> Lint code
dal test Run tests
dal parse <file> Show AST
dal repl Interactive REPL
dal watch <file> Watch for changes
dal new <name> Create new project
dal convert <file> Solidity to DAL

Blockchain and hybrid trust

DAL provides multi-chain blockchain integration through its trust model and chain module.

Guide What it covers
Hybrid Integration Guide On-chain/off-chain patterns, trust model, sync, security
Pre-signed Deployment Guide Building and submitting pre-signed deploy tx (Foundry/Hardhat → DAL), use cases
Solidity Integration Guide Orchestrating Solidity contracts from DAL
AI Best Practices Security and optimization for AI + blockchain
Architecture Separation Separating DAL contracts from frontend

Supported chains: Ethereum, Polygon, Solana, Arbitrum (and others via chain module).

Trust levels:


IDE and agent integration

Project state and alignment (maintainers)

Configuration

File extensions:

Syntax highlighting: Use Rust syntax as a base. DAL-specific keywords: service, @chain, @trust, @ai, @secure, @txn.


Examples

In the repo

27+ example programs in the examples/ directory:

Tutorials

Quick snippets

Agent with persistent memory and skills:

let agent_id = agent::spawn({
    "name": "office-bot",
    "type": "ai",
    "role": "Office assistant with calendar and email skills"
});
agent::set_serve_agent(agent_id);

Blockchain operation:

@trust("hybrid")
@chain("ethereum")
service Token {
    fn deploy() {
        let result = chain::deploy("MyToken", "{}");
        log::info("Deployed: " + result.address);
    }
}

Agent coordination:

let task = agent::create_task("Process batch 42", "high");
agent::coordinate(agent_id, task, "task_distribution");

Package management

Release maintainers: RELEASE_DOCS_BUNDLE.md lists which docs and guides to include with the language release so installs (and LLMs) have access to the most important documentation.


Project status

Current: Beta (v1.0.8). Actively maintained with consistent updates.

What works Status
Interpreter runtime (dal run) Stable
Agent framework (spawn, serve, persist, skills) Stable
30-module stdlib Stable
CLI toolchain Stable
Mold system Stable
HTTP agent server Stable
Solidity converter Stable
Testing framework Stable
Blockchain transpilation Experimental
WASM/native compile targets Experimental

For the roadmap, see Language Vision and Beta Release Summary.

Design docs:


Version history

Version Date Highlights
1.0.8 2026-03 Persistent agent memory, extensible skills registry, documentation overhaul
1.0.5 2026-02 Mutation testing hardening, HTTP middleware tests
1.0.3 2026-02 mold:: stdlib, agent molds, CLI mold commands
1.0.2 2026-01 CloudAdmin module, improved stdlib
1.0.0 2025-11 Initial release

License

Apache License 2.0 — see LICENSE.


Contact and community