AgentSkillsCN

M36

M36

SKILL.md

Project:M36 — Relational Algebra DBMS

Project:M36 is a relational-algebra-based database management system implemented in Haskell. It adheres strictly to the mathematics of the relational algebra — no NULL, no SQL compromises. Key differentiators:

  • Transaction Graph: Git-like branching/merging for database transactions (not a linear log)
  • Pure Relational Algebra: Type-safe, composable operators with algebraic optimization
  • Native Haskell Integration: Any Atomable type can be a database value; Haskell functions run inside the DB
  • TutorialD: Chris Date's teaching language as the primary interactive interface

When to use this skill

Invoke this skill when the user asks about:

  • Project:M36 architecture, setup, or usage
  • Relational algebra concepts (in the context of Project:M36)
  • TutorialD syntax or operations
  • Haskell ↔ Project:M36 integration (Tupleable, AtomFunctions, custom types)
  • Transaction graph operations (branching, merging, time-travel)
  • SQLegacy (SQL compatibility layer)

Additional Resources

Getting Started

Architecture & Theory

Transaction Graph

Client Libraries & Access

Haskell Integration

Schema & DDL

Features

SQL Compatibility

  • SQLegacy — SQL frontend on the relational algebra engine
  • Why SQLegacy? — Rationale for providing SQL compatibility

Assets

  • basic_benchmarks.html — Criterion benchmark report
  • committed_database_state.dot / initial_database_state.dot — Graphviz diagrams of database state
  • sample_session.asciinema.json — Terminal session recording