dang-language

Reference Dang syntax, types, nullability, and GraphQL interop rules.

23|9|Updated Jul 13, 2025
One-click install
npx skills add https://github.com/vito/dang --skill dang-language
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: dang-language
Source: https://github.com/vito/dang/tree/main/.agents/skills/dang-language
Command: npx skills add https://github.com/vito/dang --skill dang-language

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Dang language reference provides authoritative guidance on syntax, types, nullability, prototype objects, copy-on-write mutation, control flow, errors, GraphQL interop, stdlib, and CLI usage to reduce ambiguity and accelerate correct coding.

Core Features & Use Cases

  • Comprehensive guidance on Dang's schema-driven types, prototype objects, immutability, and null-tracking, with practical examples for common patterns.
  • Clear guidance for authors, reviewers, and Dagger/module developers to ensure correct behavior across GraphQL interop, directives, and the standard library.
  • Use Case: when debugging type or mutation semantics, consult the canonical rules to resolve ambiguities and ensure consistent behavior.

Quick Start

Open this reference while authoring or reviewing .dang files to verify syntax, types, and mutation semantics.

Frequently Asked Questions about dang-language

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I write a .dang file with correct syntax and static typing?

Use the Dang language reference to verify syntax, schema-driven types, and nullability rules when authoring or reviewing .dang files for correct static typing.

What is copy-on-write mutation in Dang and how does it work?

Copy-on-write mutation in Dang enforces immutability by copying prototype objects before modification, preventing unintended side effects across references during object manipulation.

How do I integrate Dang with GraphQL schemas and directives?

Integrate Dang with GraphQL schemas by following canonical GraphQL interop rules for directives and types to ensure consistent behavior across Dagger-enabled modules.

Does Dang support null tracking and how do I handle nullability?

Dang supports null tracking within its type system, enabling explicit nullability handling to reduce ambiguity when defining schema-driven types for GraphQL interop.

Why does my Dang object mutation cause unexpected side effects?

Dang object mutations cause side effects if copy-on-write semantics are bypassed; consult the canonical rules on prototype objects and immutability to resolve mutation ambiguities.

What's the best way to debug Dang type and mutation semantics?

Debug Dang type and mutation semantics by consulting the canonical reference sections on schema-driven types, control flow, and copy-on-write mutation to resolve ambiguities and ensure consistent behavior.