O documento introduz o conceito de Programação Orientada a Trilhos (ROP), onde funções são modeladas como "trilhos" para lidar com erros de forma funcional. A analogia dos trilhos mostra como compor funções encapsulando sua lógica interna. Um adapter é criado para permitir a composição, representando funções como "TwoTrack" que podem retornar resultados ou erros. Exemplos demonstram como validações, mapeamentos e funções que lançam exceções podem ser implementadas dentro deste modelo.
6. Como usuário eu quero atualizar meu
nome e endereço de e-mail
Receber request
Validadar e formatar e-mail
Atualizar no banco
Enviar e-mail de verificação
Retornar resultado
11. Receber request
Validadar e formatar e-mail
Atualizar no banco
Enviar e-mail de verificação
Retornar resultado
Nome é branco
E-mail invalido
Usuário não encontrado
Erro no banco
Timeout
Erro de autenticação
24. Data flow (functional) design
• Cada caso é equivalente a uma função.
• A função ira retornar um union type com dois casos: "Success" e "Failure".
• A função do caso de uso sera construida a partir de varias funções menores, cada uma
representando um passo do fluxo.
• Os erros de cada passo serão combinadas em um caminho unico de falha