Contents Menu Expand Light mode Dark mode Auto light/dark, in light mode Auto light/dark, in dark mode Skip to content
autoform
autoform

Documentation

  • Getting Started
  • Why autoform
  • Concepts
    • Trace, IR, Execute
    • The IR
    • Primitives
    • Transforms
    • Path Weights
    • Tracing Semantics
    • Pytrees
    • Schemas
    • Intercepts
    • Custom Rules
    • Walk
    • Tags
    • Fold
  • Recipes
    • Core Program Patterns
      • Vectorize Inputs with in_axes
      • Use Object-Oriented Modules
      • Run an LM Pipeline Concurrently
      • Use Control Flow Inside a Traced Function
    • LLM and Tool Programs
      • Optimize Prompts with pullback Feedback
      • Configure LiteLLM Routing
      • Use Schema Patterns
      • Rank Tool Candidates with Path Weights
      • Specialize a Program with Static Context
      • Build a Tool-Use Agent
    • Execution Policies
      • Debug Intermediate Values
      • Add Human Feedback with Walk
      • Cache Repeated Computations with memoize
      • Eliminate Dead Computations with dce
    • Extending AutoForm
      • Define a custom Rule
      • Write a Primitive
      • Define a Custom Interpreter
      • Build an Array Extension

Reference

  • API Reference
    • Core
    • IR Transforms
    • Context Managers
    • Custom Boundaries
    • Primitives
    • Schemas
    • Types
    • Extend
      • Types
      • Rule Registries
      • Abstract Helpers
      • Batch Helpers
      • IR Helpers
      • Active Contexts
      • Primitive Keys
      • Registration
      • Operator Registration
  • Changelog
  • Glossary
Back to top
View this page
Edit this page

Extending AutoFormΒΆ

Use these recipes for new primitives, custom rules, and extension packages.

  • Define a custom Rule
  • Write a Primitive
    • Minimal Shape
    • Rules by Phase
    • Batch Rule
    • Pullback Rule
    • Async Execution
  • Define a Custom Interpreter
    • Trace a Program Once
    • Define the Interpreter
    • Install the Interpreter
    • Choose the Boundary
  • Build an Array Extension
    • Define the Array Domain
    • Register Binary Array Primitives
    • Add Operators
    • Use the Extension
Next
Define a custom Rule
Previous
Eliminate Dead Computations with dce
Copyright © 2026, Mahmoud Asem
Made with Sphinx and @pradyunsg's Furo