caisil
caisil

Reputation: 373

What is an "Eta expansion?"

I've only found some indirect clue from eta expansion

SimpleExpr ::= SimpleExpr1
`_' The expression 饾憭 _ is well-formed if 饾憭 is of method type or if 饾憭 is a call-by-name parameter.
If 饾憭 is a method with parameters, 饾憭 _ represents 饾憭 converted to a function type by eta expansion.
If 饾憭 is a parameterless method or call-by-name parameter of type =>饾憞, 饾憭 _ represents the function of type () => 饾憞, which evaluates 饾憭 when it is applied to the empty parameterlist ().

So is ETA an acronym for Expression To Anonymous function or something else?

Upvotes: 2

Views: 445

Answers (1)

craigpastro
craigpastro

Reputation: 860

Eta is the Greek letter 畏 and in this case stands for extensionality. It comes from the lambda calculus. See Wikipedia.

In lambda calculus, eta-expansion is replacing A with 位x.A x when x does not appear free in A. Replacing 位x.A x with A, when x does not appear free in A, is known as eta-contraction.

Upvotes: 6

Related Questions