Simplificador de expressão aritmética no Clojure
Quero criar um simplificador de expressões aritméticas no Clojure, e sou novo nessa linguagem.
Assim, por exemplo:in: "2x + 6y - (12 + (5x - 3y)) + 4" simplified: "- 3x + 9y - 8".
Portanto, minha tentativa é analisar a expressão com regexp no vetor hierárquico de expressões aninhadas como esta:["5x-3y" "12 + <?>" "2x + 6y - <?> + 4"] ;; <?> is evaluated item from previous step
e depois avalie-os em sequência.
Estou sentindo que é hack, alguns conselhos seriam úteis.