Skip to content

Instantly share code, notes, and snippets.

View rarpainting's full-sized avatar
🎯
Focusing

rarpainting

🎯
Focusing
View GitHub Profile
@rarpainting
rarpainting / clojure-match.clj
Created December 25, 2018 08:43 — forked from ckirkendall/clojure-match.clj
Language Compare F#, Ocaml, Scala, Clojure, Ruby and Haskell - Simple AST example
(use '[clojure.core.match :only [match]])
(defn evaluate [env [sym x y]]
(match [sym]
['Number] x
['Add] (+ (evaluate env x) (evaluate env y))
['Multiply] (* (evaluate env x) (evaluate env y))
['Variable] (env x)))
(def environment {"a" 3, "b" 4, "c" 5})