AK
Size: a a a
AK
AK
JavaScript's C-like syntax, including curly braces and the clunky for statement, makes it appear to be an ordinary procedural language. This is misleading because JavaScript has more in common with functional languages like Lisp or Scheme than with C or Java. It has arrays instead of lists and objects instead of property lists. Functions are first class. It has closures. You get lambdas without having to balance all those parens.
AG
AC
AC
AG
AG
VM
AC
KC
AC
AC
VL
VL
AC
cljs.user> (= '(+ 1 1) '(+ 1 1))
true
cljs.user> (= #(+ 1 1) #(+ 1 1))
false
AC
AC
KC
(defmacro fn= [fn1 fn2]
(if (= fn1 fn2)
`true
`false))
(fn= #(+ 1 1) #(+ 1 1))
AK
KC