Tag
ATS is a statically typed programming language that unifies implementation with formal specification, supporting functional, imperative, concurrent, and modular programming with dependent and linear types for high efficiency and safety.
This article explores the theoretical and practical challenges of training LLMs to produce typed outputs natively, rather than relying on post-hoc typechecking, with a focus on formally typed languages like Idris, Lean, and Agda. It analyzes current ad-hoc approaches to enforcing types during inference and proposes rebuilding LLMs from the ground up to generate inherently typed outputs.