Dyna: A Declarative Language for Machine Learning Researchers

2025-08-17

Dyna is a programming language designed by and for machine learning researchers. Building upon logic programming paradigms like Datalog and Prolog, Dyna allows flexible execution orders and weighted rules, enabling complex programs to be expressed concisely. From matrix multiplication and Fibonacci sequences to CKY parsing and even infinite neural networks, Dyna achieves impressive brevity. Started in 2004 to bridge the gap between mathematical concepts and executable code, Dyna has evolved through versions 1.0 and 2.0, continuously improving and expanding its capabilities. Current research focuses on building a flexible and complete implementation using relational algebra and term rewriting, and employing reinforcement learning to optimize execution strategies.

Read more