Arquitetura Funcional
"Do Caos à Iluminação"
01. Os Sete Pilares
Pense no seu Model sendo a fita de um filme, a função view o
projetor e o runtime a tela. Se mudar o dado, muda a imagem!
—
Inspirado na filosofia Lustre
No Gleam, o compilador não é um carrasco; é o seu escudo protetor. Ele sussurra o caminho para a resiliência e guia suas mãos para um código inquebrável.
Através de ADTs, tornamos o erro impossível de compilar. Se um formulário pode estar
Invalid ou Valid, o estado é explícito e seguro.
Sem dados OOP acoplados a threads e efeitos colaterais. No MVU, uma AST visual é pura matemática: leve, segura e transportável com risco zero de mutação. — Conceito fundamental do Lustre MVU
A UI é descartável; a lógica do update é eterna. Não envolva o HTML em camadas
inúteis; como no Lustre, retorne dados puros em uma AST implacável.
—
Homenagem à simplicidade do Lustre
Componentes não guardam segredos; eles apenas pintam a tela. Toda a inteligência reside na
função update — o funil central onde as mensagens são processadas e o novo
estado é forjado.
—
Homenagem à simplicidade do Lustre
Enquanto o JS inventa bibliotecas de estado semanalmente para conter incêndios de mutabilidade, o MVU permanece imóvel. A matemática pura não envelhece. — Baseado na resiliência do Lustre MVU
02. Guia de Bolso do Arquiteto
Regra do Estado Único
Todo o universo da sua aplicação deve caber em um único tipo. Se não está lá, não existe.
A Proibição do "E se"
Sentiu vontade de adicionar um booleano de controle? Pare. Crie um novo variante no seu ADT.
Componentes são Funções
Ciclo de vida interno é sinal de design pobre. Passe o estado de cima para baixo.
A Lógica é Sagrada
Mantenha o update puro. Recebe
mensagem e modelo, e cospe um novo modelo sem surpresas.
—
Padrão de ouro da biblioteca Lustre
Confie no case
O pattern matching é sua ferramenta mais poderosa. Se cobrir todos os casos, o bug não tem onde se esconder.
~ Defina verdades, não efeitos colaterais. ~