Pular para conteúdo
Olá 👋🏾, eu sou
Victor
Magalhães
ele/dele
vhfmag@pm.me
vidas negras importam, vidas LGBT importam e é fascismo sim
Mídias sociais
Tema
Tema

Algebraic Effects for the Rest of Us — Overreacted

Ok, todo mundo (nos círculos de desenvolvimento que eu frequento) já falou sobre esse post, mas vou comentar minha perspectiva mesmo assim:

Primeiro, Dan Abramov é bom nisso de escrita técnica, né?

Segundo, sobre os efeitos algébricos. Por um lado, eles (me) parecem muito promissores. Imagina o nível de separation of concerns que isso permitiria? O mesmo código de lógica de negócio no front e no back, só os event handlers que mudam 🤯. Testes também ficariam ridiculamente mais fáceis, e os efeitos algébricos poderiam dar conta da maior parte dos casos de uso de técnicas como injeção de dependência e mock de módulos.

Por outro, me parece que eles resistem a tentativas de análise estática. Não vejo como tipar eles: como saber quais handlers vão lidar com um efeito em particular antes de executar o código? Como saber que código de terceiros usa os efeitos da forma como seu handler espera? Talvez um sistema parecido com como o Java tipa exceções rigorosamente, permitindo que você saiba que tipos de exceção são lançados e exigindo que você declare as mesmas exceções se não tratá-las? Mesmo assim, acho que isso poderia ficar confuso, rápido.

Enfim, empolgado com a ideia.