DSL Roadmap

Domain-specific languages (DSLs) are focused tools that solve narrow problems exceptionally well. We study DSLs because they are the gateway to language design — and ultimately to creating our own new programming languages.

DSL Study Progress:

0% Complete
# DSL Topic Description
PHASE 1: LANGUAGE FOUNDATIONS
01 Overview & Scope What DSLs are, their taxonomy, and why they succeed or fail.
02 Design Considerations Why and when to invent a language, what is reusable, disruption vs. compliance, and the AI landscape.
03 Syntax & Notation Tokens, notation conventions, and the surface form of a language.
04 Grammar & Rules EBNF, productions, ambiguity, precedence, and grammar classes.
05 Parsing & Trees From tokens to concrete and abstract syntax trees; parse errors.
06 Semantics & Scoping Bindings, environments, lexical and dynamic scope, and evaluation rules.
07 Types & Values Kinds of values, typing modes, and what type checking buys.
08 Errors & Diagnostics Error kinds, diagnostic design, error models, and the REPL.
PHASE 2: IMPLEMENTATION
01 Compiler Design Front-end, middle-end, back-end, and code generation pipelines.
02 Semantic Analysis Symbol tables, name resolution, type checking, and desugaring.
03 Intermediate Representations Why and how to lower: trees, three-address code, and SSA forms.
04 Crafting Compilers Scanner, lexer, parser, and code generation foundations for language tooling.
05 Interpreters Tree-walking execution, evaluation, and runtime environments.
06 Bytecode & Codegen Instruction sets, stack machines, emitters, and verification.
07 Virtual Machines & Runtimes Dispatch, call frames, runtime services, and a JIT preview.
08 Code Generation Native back-ends: instruction selection, registers, and calling conventions.
09 Code Optimization Safe transformations, constant folding, dataflow, and loops.
PHASE 3: DSL IMPLEMENTATION LANGUAGES
01 ANTLR A grammar DSL (.g4) that generates lexers, parsers, and parse-tree walkers in many target languages.
02 Racket The programmable programming language: #lang modules, macros, and language-oriented design.
03 OCaml Type-safe compiler implementation: algebraic data types, exhaustive matching, ocamllex and Menhir.
PHASE 4: EXECUTION MODELS
01 Forth Stack-based language for embedded and real-time systems; tiny, interactive, and standardized.
02 FASM Fast single-pass flat assembler with a built-in macro language for low-level toolchains.
03 Verilog Hardware description language for FPGAs and ASICs; simulate before you build.
04 LLVM IR Language-independent SSA intermediate representation at the heart of the LLVM toolchain.
PHASE 5: AI DOMAIN-SPECIFIC LANGUAGES
01 Triton Python-based DSL and compiler for writing fast custom GPU kernels.
02 Mojo Superset of Python for AI infrastructure: ownership, SIMD, and native compilation.
03 Julia High-performance technical computing with multiple dispatch and a JIT compiler.
PHASE 6: STATISTICS & SCIENTIFIC LANGUAGES
01 R The standard domain language for statistics, data frames, and reproducible analysis.
02 MATLAB & Octave Matrix-first numerical computing: the engineering standard plus its free twin.
03 Wolfram Language Symbolic and knowledge computation with thousands of built-in functions.
04 Stan Probabilistic programming for Bayesian inference with Hamiltonian Monte Carlo.
PHASE 7: LOGIC LANGUAGES
01 Prolog Classic logic programming: facts, rules, and automatic backtracking search.
02 Datalog Declarative recursive query language for deductive databases and program analysis.
03 Clingo (ASP) Answer set programming: model combinatorial problems, let the solver search.
04 MiniZinc High-level constraint modeling that compiles to CP, SAT, and MIP solvers.
05 Lisp The classic symbolic programming family: code as data, REPL, and powerful macros.
06 AutoLISP The Lisp dialect built into AutoCAD for automated drawing and CAD customization.
07 Clojure A modern Lisp on the JVM: immutable data, functional style, and concurrency.
PHASE 8: PRACTICE & REFERENCE
01 References & Downloads Docs, downloads, playgrounds, courses, and samples for all 21 languages.
02 Languages in Design & Research Open-source language and compiler projects to study, from didactic interpreters to experimental (Carbon, Odin) and enterprise compilers.

What comes next

Each topic page starts as a lightweight placeholder so the roadmap can be expanded later with examples, diagrams, and implementation notes.

Free References

For the full categorized catalog — official documentation, downloads, browser playgrounds, free courses, and sample repositories for all 21 languages — see the References & Downloads page.