Functional Programing: the Jargon “Lambda”

these days, with functional programing getting popular, and lots lots new languages, the lambda name is falling out of fashion, and i think that's a good thing.

for example, in JavaScript, its functions are lambdas (⁖ function xyz {…}), but no JavaScript literature calls it lambda. 〔☛ Functional Programing in JavaScript〕 Same situation in Ruby. Younger generation using these languages, never thought about lambda, yet they benefit from what these so-called “anonymous” function provides. The name lambda actually harms understanding.

in Mathematica, the lambda is called Pure Function, but is written simply as Function[…]. (it's called Pure Function to differentiate from functions defined using pattern matching) Mathematica has been that way since version 1 in 1988.

the most important thing about lambda, isn't any advanced use, such as “closure”, or things one hear from the Haskell world. It's simply that the function is a expression, namely it returns a value that represents the function. (and therefore, it can be assigned to a var, or passed as a parameter to other function, or returned as a value from a function) (here, in lisp world it's sometimes known as “Function as First Class Citizens”. (again, a term that harms education and progress and propagation of functional languages))

Popular posts from this blog

11 Years of Writing About Emacs

does md5 creates more randomness?

Google Code shutting down, future of ErgoEmacs