Saul é uma linguagem de modelagem implementada como uma linguagem específica de domínio (DSL) em Scala que facilita o design de modelos de aprendizado de máquina com configurações arbitrárias para o programador de aplicações, incluindo a interação com dados brutos e sua configuração em uma estrutura de grafo flexível (ou seja, modelo de dados) usando as estruturas de dados originais disponíveis, extração de características relacionais por meio de consultas flexíveis do grafo do modelo de dados e design de modelos de aprendizado flexíveis, incluindo várias configurações nas quais os aprendizes interagem.