In this useR!-2020 presentation we discuss a systematic approach of software development that gives us the ability to rapidly specify Machine Learning (ML) computations using both programming Domain Specific Languages (DSL’s) and natural language commands. We present in detail the selection of programming paradigms, languages, and packages.
A central topic of the presentation is the transformation of sequences of natural commands into corresponding DSL pipelines for ML computations. We discuss the general strategy and the concrete implementation steps.
The presented approach is based on (1) monadic programming DSL’s, (2) finite state machines, and (3) natural language context free grammars.
We use monadic programming and code generation for implementation of ML packages. We use Raku for grammar specifications, parsers generation, and interpreters.
Here are links to different files with the slides: