Back to Discover

l4-ide

plugin

smucclaw

This project is being continued by Legalese:

View on GitHub
37 starsNOASSERTIONSynced Aug 2, 2026

Install to Claude Code

/plugin marketplace add smucclaw/l4-ide

README

L4 with IDE

L4 is a domain-specific programming language for law. It formalizes legal rules and contracts as executable specifications, bringing software engineering rigor to legal drafting and analysis.

This repository contains the L4 compiler, IDE tooling (VS Code extension, LSP, REPL, web editor), and a decision service that exposes L4 rules as REST APIs and MCP tools.

What You Get From a Single L4 File

  • REST APIs — Expose functions as HTTP endpoints with @export annotations
  • AI tool integration — MCP server for Claude, Cursor, and VS Code Copilot; WebMCP for in-browser agents
  • Interactive visualizations — Ladder diagrams and evaluation traces rendered via GraphViz
  • Audit-grade explainability — Every evaluation produces a trace you can follow from the top-level question down to the deciding condition
  • Test suites — Golden-file tests and assertions
  • Generated schemas — OpenAPI 3.0 specs and JSON schemas for integration

Getting Started

Repository Layout

Haskell (Cabal):

PackagePurpose
jl4-coreCore language (parser, typechecker, evaluator)
jl4CLI tool and JSON schema generator
jl4-lspLanguage Server Protocol for IDE support
jl4-replInteractive REPL
jl4-serviceREST API for decision evaluation
jl4-websessionsSession persistence service
jl4-query-planQuery planning utilities
jl4-actus-analyzerStatic analyzer classifying L4 contracts by ACTUS / FIBO
jl4-wasmWebAssembly build of L4 for browser/Node.js
jl4-mlirMLIR/WASM compiler backend: L4 → .wasm decision binary

TypeScript (npm workspaces + Turborepo):

PackagePurpose
ts-apps/vscodeVS Code extension
ts-apps/jl4-webWeb-based editor (Svelte)
ts-sharedShared libraries (RPC client, visualizers)

Documentation: See doc/ for the language reference, tutorials, courses, and concept guides.

Building From Source

cabal build all          # Haskell
npm ci && npm run build  # TypeScript

See AGENTS.md for repository conventions and workflow, and dev-start.sh for running services locally.

Requirements: GHC 9.10.2, Cabal 3.10+, Node.js ≥ 20, and GraphViz (dot). Nix users can run nix-shell nix/shell.nix for a ready environment.

The REPL

An interactive Read-Eval-Print Loop for exploring L4 code:

cabal run jl4-repl -- path/to/file.l4

The REPL provides live evaluation, module reloading (:load, :reload), query planning (:decides, :queryplan), and trace output (:trace, :traceascii, :tracefile). See jl4-repl/README.md for the full command list.

VS Code Extension

Provides syntax highlighting, type checking, inline evaluation, @export previews, deployment management, and an automatically-registered local MCP server that bridges Claude Code, Cursor, and VS Code Copilot to your L4 code. Connects to Legalese Cloud or a self-hosted jl4-service instance. See ts-apps/vscode/README.md.

Trace Visualization

Every tool in this repo can render an L4 evaluation as a GraphViz diagram:

  • CLI: l4 trace myfile.l4 > trace.dot, then dot -Tsvg trace.dot > trace.svg (or l4 trace myfile.l4 --format svg -o out/ to generate SVG files directly)
  • REPL: :trace <expression>, or :tracefile traces/session to capture numbered .dot files
  • Decision Service: POST /deployments/{id}/functions/{fn}/evaluation?trace=full&graphviz=true

Install GraphViz with brew install graphviz or apt-get install graphviz to render PNG/SVG outputs.

Application Libraries

L4 ships with foundational libraries for building legal and commercial applications:

  • Jurisdiction — ISO 3166 country codes, US states, Canadian provinces, EU
  • Currency — ISO 4217 currency codes with integer minor-unit storage
  • Legal Persons — individuals, corporations, partnerships, LLCs, trusts
  • Holdings — ownership structures and beneficial ownership

Real-World Impact

L4 has been piloted with organizations in both public and private sectors:

  • Government regulatory compliance — encoded secondary legislation to auto-generate citizen-facing web wizards; formal verification discovered a double-bind where contradictory clauses required and prohibited the same action.
  • Insurance policy analysis — formalized contracts from major global providers, uncovering payout-formula ambiguities linked to significant claims leakage.
  • Legislative drafting — working with government drafting offices on rules-as-code initiatives.
  • Commercial agreements — transformed complex fee schedules and payment terms into L4, served via REST for enterprise integration.

Community

L4 is published under the Apache-2.0 License.

Rendered live from smucclaw/l4-ide's GitHub README — not stored, always reflects the source repo.

1 Plugin

NameDescriptionCategorySource
l4-computational-lawL4 programming language for computational law - encode contracts, regulations, and policies as executable, testable, verifiable programslegal-techlegalese/l4-ide

0 Comments

Login required
Log in to post a comment or update on this repo.

No comments yet — be the first to share an update.