- Artigo sobre "Railway Oriented Programming" (ROP), um método funcional de tratamento de erros no desenvolvimento de software
- ROP baseado na analogia ferroviária, fácil de entender e divertido
- Criação de um projeto no GitHub comparando C# comum e F# usando a abordagem ROP
- Alerta contra o uso extremo de ROP, explicado em detalhe no texto intitulado "Against Railway-Oriented Programming"
- Apresentações sobre esse tema em várias conferências, como NDC London 2014, NDC Oslo 2014 e Functional Programming eXchange 2014
- A abordagem de ROP tem relação com a mônada
Either de Haskell e com composição de Kleisli, mas não tenta ser um tutorial sobre mônadas
- Ênfase na importância de começar com exemplos concretos e depois avançar para conceitos abstratos
- A abordagem ROP inclui técnicas como uso de listas de tipos de erro definidos pelo usuário, integração de funções monádicas e não monádicas no pipeline, mapeamento de exceções para casos de erro e combinação paralela de funções monádicas
- O objetivo é oferecer um template versátil de ROP que imponha um estilo consistente e seja fácil de manter
- Recomendação do projeto Chessie para quem quer uma biblioteca F# pronta que funcione com NuGet
- Criação de um serviço web de exemplo com técnicas de ROP e aplicação da abordagem ROP ao FizzBuzz
- Sugestão de leituras adicionais, incluindo vários posts e tutoriais sobre mônadas, para quem quiser mais detalhes sobre composição
Either e Kleisli
2 comentários
Railway-Oriented Programming para criar programas sem falhas
Opiniões do Hacker News
withem Elixir como uma implementação prática de ROP. Ela permite a execução sequencial de funções e o retorno antecipado caso alguma função não corresponda à saída esperada.