26 pontos por jamiecha 2025-07-28 | 7 comentários | Compartilhar no WhatsApp

Olá, compartilho um texto que explica de forma relativamente simples o "Monad", um dos principais conceitos da programação funcional.
Ele foi estruturado para que você possa entender passo a passo com base em pequenos exemplos fundamentados na linguagem Rust.

7 comentários

 
t7vonn 2025-08-05

Obrigado pelo ótimo artigo.

 
roxie 2025-08-05

Dá até inveja ter Rust na empresa.

 
carnoxen 2025-07-30

Eu gostaria que o código fosse mostrado como texto em vez de imagem.

 
2k1m0 2025-08-06

Concordo.

 
simnalamburt 2025-07-29

Bom texto! Só que a explicação relacionada ao endofunctor tem um erro, então seria bom corrigir isso: https://x.com/simnalamburt/status/1950074970647761168?s=46

 
jamiecha 2025-07-29

Sua observação está absolutamente correta!
Acho que houve um mal-entendido no processo de aplicar ao contexto de Rust um conteúdo escrito com base em outra linguagem.
Como o sistema de tipos de Rust forma uma única categoria, parece que a distinção entre endofuntor e funtor geral perde o sentido.
É uma pena que o blog não tenha função de comentários; vou precisar perguntar se é possível solicitar uma correção.

 
simnalamburt 2025-07-29

Nem tudo é endofunctor. Coisas com vários parâmetros de tipo, como Result<T, E>, não são 𝒞 → 𝒞, e sim Result : 𝒞 × 𝒞 → 𝒞, então esse tipo de coisa é um bifunctor.