Programming Language Design in the Era of LLMs: A Return to Mediocrity?
a year ago
- #DSL
- #LLM
- #programming_languages
- Programming Language Design (PL) research focuses on creating domain-specific languages (DSLs) to simplify complex problems by aligning with user intuitions.
- DSLs eliminate boilerplate and reduce bugs by encoding domain-specific rules directly into the language.
- The rise of LLMs (Large Language Models) challenges DSL design, as LLMs excel in popular languages like Python but perform poorly in niche or DSL contexts.
- LLMs reduce the incentive to create DSLs, as they can generate code in general-purpose languages, potentially leading to stagnation in DSL development.
- Three emerging directions for DSLs in the LLM era:
- 1. Teaching LLMs about DSLs by using Python as an intermediate language for translation.
- 2. Designing DSLs that integrate with LLM workflows, bridging formal (code) and informal (natural language) specifications.
- 3. Developing specification languages to verify LLM-generated code, ensuring correctness in domain-specific contexts.
- The future of DSLs depends on adapting to LLMs, justifying their use despite the higher opportunity cost, and exploring new synergies between language design and AI.