Olá pessoal. Tudo certo?!
Esse é mais um post “snippet”. Vamos implementar a famosa fórmula de Bhaskara em Haskell.
Versão simples:
bhaskara a b c = ( ((-b) + sqrt(b^2 - 4 * a * c)) / (2 * a), ((-b) - sqrt(b^2 - 4 * a * c)) / (2 * a) )
Bitch, please! DRY!
bhaskara a b c = ( (minusb + sqRootOfDelta) / twoTimesA, (minusb - sqRootOfDelta) / twoTimesA ) where sqRootOfDelta = sqrt(b^2 - 4 * a * c) twoTimesA = 2 * a minusb = (-b)
Como você deve ter entendido, a clásula where serve para que possamos criar “simplificadores”. Parecem variáveis comuns, não?!
Era isso.