ResearchPod Summary
As Large Language Models (LLMs) become central to software development, the way we structure code and documentation needs to evolve. This paper introduces 'notlob', a literate programming environment designed specifically for the era of AI-assisted coding. By treating natural language prose and executable code as first-class, co-located citizens, notlob aims to maximize the utility of LLM context windows and provide AI agents with the same symbol-aware navigation that human developers rely on in modern IDEs.
Notlob is built on the philosophy that programming is a process of theory building. Rather than separating documentation from code, notlob uses a structured grammar that allows developers to interleave prose, executable blocks, and property-based tests within a single file. The environment includes a 'name-graph'—a data structure that maps relationships between prose, concepts, names, and executable artifacts. This graph allows both human and machine agents to navigate the codebase semantically, moving beyond simple text-based search.
The notlob toolchain includes several commands to manage this literate workflow. Developers can run tests, build projects, and even export the name-graph as JSON or RDF for integration with other semantic tools. The environment supports bindings for multiple languages, including Haskell, Python, and TypeScript, allowing it to act as a 'domain-entangling' language that bridges the gap between high-level design specifications and low-level implementation details. By keeping specifications, code, and tests side-by-side, notlob ensures that the 'theory' of the program remains consistent across the entire development lifecycle.
Existing approaches to AI-assisted coding often suffer from fragmented context, where specifications, code, and tests are stored in separate files or managed through upstream pipelines that struggle with LLM non-determinism. Notlob offers a more integrated alternative, treating the entire project as a cohesive essay. This structure helps mitigate common issues where AI agents neglect declarative artifacts or lose track of project-wide constraints, ultimately leading to more robust and maintainable software systems in an AI-augmented world.
AI-generated third-party summary by ResearchPod. Not official content or an endorsement by the paper authors or affiliated organizations.