Functional Programing: the Jargon Lambda in Decline

, , …,

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 () {…}), but no JavaScript literature calls it lambda. 〔☛ Functional Programing in JavaScript〕. Younger generation using these languages, never thought about lambda, yet they benefit from what these so-called “anonymous” function provides. The name lambda actually hampers understanding.

in Mathematica, the lambda is called Pure Function, and is written simply as Function[…], no lambda is ever mentioned in the one thousand plus page of Wolfram Language documentation. (it's called Pure Function to differentiate from functions defined using pattern matching. 〔☛ Intro to Mathematica Pattern Matching for Lisp Programers〕) 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 variable, 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 propagation of functional languages))

blog comments powered by Disqus