A programming language for reinforcement learning (2025)
The increasing complexity of reinforcement learning (RL) algorithms has revealed a critical gap in the programming models and tools available to developers, leading to suboptimal implementations and a lack of standardization in RL software projects. This thesis proposes the design and implementation of a specialized programming language that provides higher-level abstractions tailored specifically for RL. By addressing the representation of state and action space, the reward function and the management of hyperparameters, our language aims to alleviate the burden on programmers, allowing them to concentrate on the intrinsic complexities of their algorithms rather than the underlying details of RL. We will develop language abstractions and data structures within the Racket programming environment to facilitate the expression of RL constructs effectively. Additionally, a suite of test programs will be created to evaluate the efficacy and usability of our proposed language. This work seeks to enhance the quality and accessibility of RL programming, fostering improved practices and innovations in the field.