Understand new programming languages through what you already know.
SyntaxLens helps you to grasp new programming syntax and concepts, using the concepts of a known language. As a C developer learning Rust, I wanted to understand Rust from a C point of view — and similarly, any new language through one you already know.
🔗 Try it: www.syntaxlens.com
This is the public home of the LENS.md specification and the public issue tracker for SyntaxLens.
The product source code lives elsewhere. What you'll find here:
- 📄 LENS.md — the portable markdown specification for AI code-explanation perspectives
- 📁 lenses/ — reference lenses you can apply with any AI agent
- 🐛 Issues — bugs, suggestions, mapping accuracy reports, spec proposals
Every explanation follows a three-layer architecture called Insight³:
- Surface — What does this syntax look like? What's the equivalent in your known language?
- Concept — What's the underlying idea? How does it connect to something you already understand?
- Paradigm — What design philosophy drove this choice, and what does it cost you to think in it?
LENS.md formalizes Insight³ as a portable spec that any AI agent — Claude Code, Cursor, terminal bots, voice agents — can consume.
It is to perspective what SKILL.md is to behavior and AGENTS.md is to project context:
Lens( Skill( Context, code ) )
A single .lens.md file tells any AI agent who the reader is, what they already know, and where their assumptions will break — and it carries a machine-checkable test contract so the lens can self-validate before output is shown to the user.
→ Read the v0.1 specification (LENS.md)
| Lens | For | Covers |
|---|---|---|
rust-through-c.lens.md |
C developers reading Rust | ownership moves, the borrow checker, Option vs null, lifetime annotations |
The smallest conforming lens is around 15 lines of YAML frontmatter. See LENS.md §4 (Core) and §6 (Bridge profile) for the required fields, or use either reference lens as a starting template.
SyntaxLens is actively evolving. The core three-layer architecture is stable; language coverage and mapping accuracy improve with each release.
The LENS.md specification is at v0.1 (draft). As a 0.x release, expect breaking changes before 1.0 — field names and shapes may evolve as community lenses surface friction. Feedback on the spec — clarifications, new profile candidates, gaps in the conformance language — is welcome via issues.
- Product: www.syntaxlens.com
- Specification: LENS.md
- Built by: Chandra Prabhanjana Kumar — 25 years of embedded systems across LG, Cisco, and Synamedia. Built at TURYON Tech Labs.