# Functional Programming

> Expert agent for Elixir development with OTP patterns, Phoenix LiveView, and fault-tolerant distributed systems on the BEAM VM.

## Overview

This plugin provides specialized expertise for functional programming with Elixir. It covers OTP design patterns (GenServer, Supervisor, Application), the Phoenix web framework with LiveView for real-time features, Ecto for database interactions, and concurrent/distributed programming on the BEAM VM. Use it when building fault-tolerant services, designing supervision trees, working with Phoenix contexts, or optimizing BEAM performance.

## Contents

### Agents

- **elixir-pro** -- Elixir expert embracing the "let it crash" philosophy with proper supervision trees. Masters OTP patterns (GenServer, Supervisor, Application), Phoenix framework with LiveView real-time features, Ecto changesets and database interactions, pattern matching and guard clauses, concurrent programming with processes and Tasks, distributed systems with nodes and clustering, and BEAM VM performance optimization. Outputs idiomatic Elixir following community style, ExUnit tests with doctests, Dialyzer specs, Benchee performance benchmarks, and Telemetry instrumentation.

### Commands

_None_

### Skills

_None_

## Usage

The elixir-pro agent activates proactively when working on Elixir codebases. It is particularly useful for OTP architecture design, refactoring to idiomatic patterns, and BEAM performance optimization.

```
Ask: "Design a supervision tree for a rate-limited API client with circuit breaker behavior"
```

## Related Plugins

- **jvm-languages** -- Scala agent covers functional programming on the JVM with Cats Effect and ZIO
- **javascript-typescript** -- Functional patterns in JavaScript/TypeScript (map, filter, reduce, composition)
- **full-stack-orchestration** -- Coordinates Elixir backends with frontend and infrastructure layers
