Skip to content
Back to skills

Lattice Api

ASecurity

API quick-reference for key lattice subsystems (FP, Game Theory, SAT, Optics, Statistics, CLP). Use when you need function signatures, module contents, or usage examples for a specific subsystem. Invoke when working with game theory, constraint solving, optics, parsers, or other advanced lattice features.

  • 666 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added February 9, 2026
developmentgobashtestingapidocumentation

Works with

  • api

Security analysis

A100/100

Scanned February 12, 2026

npx -y skills add majiayu000/claude-skill-registry --skill lattice-api --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Lattice Api?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Lattice Api
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/majiayu000-lattice-api/badge)](https://www.skillsdirectory.com/skills/majiayu000-lattice-api)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: lattice-api
description: API quick-reference for key lattice subsystems (FP, Game Theory, SAT, Optics, Statistics, CLP). Use when you need function signatures, module contents, or usage examples for a specific subsystem. Invoke when working with game theory, constraint solving, optics, parsers, or other advanced lattice features.
allowed-tools: Bash(./fold:*), Read, Grep, Glob
---

# Lattice API Quick Reference

Detailed API documentation for the major lattice subsystems. Use `/lattice-search` for discovery; use this skill for API details once you know what subsystem you need.

## FP Toolkit (`lattice/fp/`)

Monads, parsers, streams, zippers, game theory, symbolic math, control systems (state-space, Kalman filters, PID, stability analysis), term rewriting.

```scheme
(li 'fp)   ; Full description
(le 'fp)   ; All exports
```

### Regex/FSM (`lattice/fp/parsing/`)

Regex→NFA compilation via Thompson's construction.

**Features:**
- Quantifier ranges `{n,m}`
- Anchors `^`/`$`
- Lookahead `(?=...)`/`(?!...)`

**Note:** Anchors and lookahead require position-aware NFA execution; `nfa->dfa` and `fsm-minimize` skip conversion when assertions present. Use `regex-accepts?` or `fsm-accepts?` which auto-detect and use appropriate runner.

```scheme
(regex-accepts? "^foo" "foobar")  ; #t
(regex-accepts? "foo$" "foobar")  ; #f
```

## Game Theory (`lattice/fp/game/`)

Rich set of ready-to-use algorithms for cooperative games, voting, matching, and fair division.

| Module | Contents |
|--------|----------|
| `coop-games.ss` | `make-coop-game`, `shapley-value`, `core`, `nucleolus` |
| `voting-games.ss` | `banzhaf-index`, `shapley-shubik-index`, `make-weighted-voting-game` |
| `voting.ss` | `schulze-ranking`, `borda-scores-all`, `condorcet-winner` |
| `multi-winner.ss` | `pav-winners` (proportional approval), `stv-winners` |
| `matching.ss` | Gale-Shapley stable matching, hospital-residents |
| `fair-division.ss` | Envy-free allocation, proportional division |

These are pure functions — import them into boundary code for applications like QA triage, resource allocation, or voting systems.

### Example: Shapley Value

```scheme
(load "lattice/fp/game/coop-games.ss")

;; Define a cooperative game: 3 players, characteristic function
(define game (make-coop-game 3
  (lambda (coalition)
    (cond
      [(equal? coalition '(1 2 3)) 100]  ; Grand coalition
      [(equal? coalition '(1 2)) 70]
      [(equal? coalition '(1 3)) 50]
      [(equal? coalition '(2 3)) 60]
      [else 0]))))

(shapley-value game)  ; => fair allocation to each player
```

## Statistics (`lattice/statistics/`)

| Category | Functions |
|----------|-----------|
| Regression | Linear, GLM (IRLS), ridge, lasso, elastic net |
| Time Series | AR, MA, exponential smoothing |
| Hypothesis Testing | t-test, F-test, ANOVA, chi-squared |

```scheme
(li 'statistics)  ; Full description
(le 'statistics)  ; All exports
```

## CLP(FD) (`lattice/fp/clp/`)

cKanren-style constraint logic programming with finite domains.

**Features:**
- Finite domain constraints
- Arithmetic constraints (`fd-<`, `fd-+`, etc.)
- Global constraints (`all-different`)
- Intelligent search strategies

**Classic problems:** N-Queens, Sudoku, cryptarithmetic

```scheme
(load "lattice/fp/clp/clpfd.ss")

;; N-Queens
(run* (q)
  (fresh (q1 q2 q3 q4)
    (== q (list q1 q2 q3 q4))
    (fd-dom q1 '(1 2 3 4))
    (fd-dom q2 '(1 2 3 4))
    (fd-dom q3 '(1 2 3 4))
    (fd-dom q4 '(1 2 3 4))
    (all-different q)
    (queens-safe q)))
```

## SAT/MaxSAT (`lattice/fp/sat/`)

CDCL SAT solver with clause learning, Two-Watched Literals, VSIDS branching. MaxSAT extension for optimization.

| Function | Purpose |
|----------|---------|
| `sat-solve` | Check satisfiability, returns `'sat`, `'unsat`, or `'unknown` |
| `sat-model` | Get satisfying assignment |
| `graph-coloring` | Encode k-coloring as SAT |
| `n-queens-sat` | Encode N-Queens as SAT |
| `make-maxsat` | Create MaxSAT with hard/soft clauses |
| `maxsat-solve` | Find minimum-cost assignment |
| `min-vertex-cover` | Encode as MaxSAT |
| `max-independent-set` | Encode as MaxSAT |
| `min-correction-set` | Diagnosis: find clauses to remove |

### Example: Graph Coloring

```scheme
(load "lattice/fp/sat/sat.ss")
(load "lattice/fp/sat/applications.ss")

;; 3-color a graph
(define edges '((1 . 2) (2 . 3) (3 . 1)))
(define coloring-cnf (graph-coloring 3 3 edges))
(sat-solve coloring-cnf)  ; => 'sat or 'unsat
(sat-model coloring-cnf)  ; => variable assignments
```

## Optics (`lattice/fp/optics/`)

Complete optics tower for composable data access.

| Module | Contents |
|--------|----------|
| `optics.ss` | Core tower: Iso, Lens, Prism, Affine, Traversal, Fold, Getter, Setter, Grate |
| `block-optics.ss` | CAS block optics: `block-tag-lens`, `block-refs-each`, `follow-ref`, type prisms |
| `profunctor-optics.ss` | Profunctor encoding: Strong/Choice/Closed/Wander, `p-lens`, `p-prism`, `p-traversal`, `p-fold` |
| `bidirectional.ss` | Reversible migrations: `make-migration`, `migrate`, `rollback`, `migration-compose` |
| `schema.ss` | Field DSL: `field-rename-iso`, `field-add-iso`, `field-transform-iso` |
| `block-migration.ss` | CAS migrations: `make-block-migration`, `block-migrate-payload`, bottom-up tree traversal |

### Operators

| Operator | Purpose | Example |
|----------|---------|---------|
| `^.` | view | `(^. body body-pos-lens)` |
| `^?` | preview (Maybe) | `(^? either left-prism)` |
| `^..` | to-list | `(^.. world (>>> world-all-bodies body-vel-lens))` |
| `.~` | set | `(.~ body-pos-lens new-pos body)` |
| `%~` | modify | `(%~ body-pos-lens add1 body)` |
| `&` | pipe (left-to-right) | `(& body (%~ lens f))` |
| `>>>` | compose (left-to-right) | `(>>> outer-lens inner-lens)` |

### Example: Nested Access

```scheme
(load "lattice/fp/optics/optics.ss")

;; View nested position
(^. body body-pos-lens)

;; Modify x-coordinate of position
(& body (%~ (>>> body-pos-lens vec2-x-lens) add1))

;; Get all velocities from world
(^.. world (>>> world-all-bodies body-vel-lens))
```

## Traced Optics (`lattice/autodiff/traced-optics.ss`)

Compute gradients through optic-focused paths — combines autodiff with optics.

```scheme
(load "lattice/autodiff/traced-optics.ss")

;; Gradient of loss w.r.t. nested parameter via optic composition
(optic-gradient loss-fn (>>> outer-lens inner-lens) structure)

;; Gradient descent step at optic focus
(optimize-at lens-fst '(5.0 . ignored) (lambda (p) (traced-sq (car p))) 0.1)
;; => (4.0 . ignored)  ; 5 - 0.1 * 2 * 5 = 4

;; Gradients for all traversal targets
(optic-gradient-list loss-fn traversal-each '(1 2 3))
```

## Skill Manifests

Each lattice skill has a `manifest.sexp` declaring metadata:

```scheme
(skill <name>
  (version "x.y.z")
  (tier 0-2)                       ; 0=foundational, 1=intermediate, 2+=advanced
  (path "lattice/<name>")
  (purity total|partial)           ; total=pure, partial=may have effects
  (stability stable|experimental)
  (fuel-bound "O(...)")            ; Complexity bound
  (deps (<skill> ...))             ; Skill-level dependencies
  (description "...")
  (keywords (<keyword> ...))       ; For search
  (aliases (<alias> ...))          ; Alternative names
  (exports (<module> <symbol> ...) ...)
  (modules (<name> "<file>" "<desc>") ...))
```

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.