Welcome to Dialectss Documentation

Explore a living ecosystem of language designs, type systems, and computational models. Build the future of type-safe programming.

Documentation Sections

Getting Started

Learn the fundamentals of working with Dialectss, including installation, configuration, and creating your first type system.

🔗 Start Here

Advanced Features

Master advanced language features like metaprogramming, polymorphic types, and compiler customization in Dialectss.

🔗 Dive In

API Reference

Explore the full compiler API, type system interface, and language-specific libraries in detail.

🔗 Reference

Getting Started

Begin exploring the Dialectss ecosystem.

1. Installation


< span class="text-blue-600">$  npm install -g @dialectss/cli
< span class="text-blue-600">$  dialect init my-dialect
                                
                                

The dialect CLI will scaffold a new dialect project with type-safe scaffolding.

2. First Type System

                                        
{ 
  "types": {
    "Integer": { "kind": "scalar", "size": 64 },
    "List": { 
      "kind": "composite", 
      "generic": "T",
      "elements": "Array"
    }
  },
  "dialect": "core@1.2.3"
}
                                        
                                    

This defines a basic type system with an integer and generic list type.

3. Run the Compiler


< span class="text-blue-600">$  dialect compile --typecheck

                                

The compiler will perform full type inference and optimization passes.

Advanced Language Features

Metaprogramming

Create dynamic type systems that evolve at runtime based on program structure and external constraints.

🔗 Learn More

Compiler Internals

Dive into the architecture of the Dialectss compiler and learn how to customize the type inference algorithm.

🔗 Learn More

Formal Verification

Prove the correctness of your type systems with Dialectss' integrated verification framework.

🔗 Learn More

Contribute to Documentation

The Dialectss documentation is always evolving. If you notice something missing or need clarification, help improve it!

📝 Edit on GitHub