Skip to main content
Soul Language Logo

What is Soul?

Soul is a dynamically typed, object-oriented scripting language designed for the modern automation era. Built with Go, it combines familiar syntax with powerful features specifically tailored for AI-powered automation, web scraping, and system integration.

Why Soul?

AI-First Design

Built-in support for OpenAI, Anthropic, and Gemini models with a unified API

Modern Concurrency

Powerful async/await, channels, and lightweight threads for efficient parallel processing

Rich Standard Library

Everything you need out-of-the-box: HTTP servers, web scraping, databases, and more

Quick Example

GenAI and Automation Example

soul genesis() {
    // Fetch and summarize web content with AI
    browser = Robo.createBrowser()
    page = browser.newPage()
    page.navigate("https://news.ycombinator.com")

    title = page.findElement("title").getText()

    ai = GenAI.chat("openai").model("gpt-3.5-turbo")
    response = ai.invoke("Summarize this title: " + title)

    println(response.text)
    browser.close()
}

Concurrent Processing Example

soul processData(name, value) {
    println("Processing " + name + "...")
    Concurrency.sleep(100)
    return name + " result: " + (value * 2)
}

soul genesis() {
    // Spawn concurrent tasks
    task1 = Concurrency.spawn(processData, "Task A", 10)
    task2 = Concurrency.spawn(processData, "Task B", 20)
    task3 = Concurrency.spawn(processData, "Task C", 30)

    // Wait for all results
    result1 = await task1
    result2 = await task2
    result3 = await task3

    println(result1)
    println(result2)
    println(result3)

    // Use WaitGroup for synchronization
    wg = Concurrency.waitGroup()
    wg.add(2)

    Concurrency.run(soul() {
        println("Background job 1 running")
        Concurrency.sleep(50)
        wg.done()
    })

    Concurrency.run(soul() {
        println("Background job 2 running")
        Concurrency.sleep(75)
        wg.done()
    })

    wg.wait()
    println("All background jobs completed")
}

Get Started

Installation

Install Soul and set up your development environment in minutes

Quick Start Guide

Write your first Soul program and explore the core features

Learn More

Language Documentation

Explore the complete language reference and syntax guide

Jet Framework

Build web applications with Soul’s Express.js-inspired framework