Programming_Language
Contents
Terminologies
Fully qualified name
- In computer programming, a fully qualified name is an unambiguous name that specifies which object, function, or variable a call refers to without regard to the context of the call.
Encapsulation
Curry–Howard correspondence
Currying
Currying is the technique of translating a function that takes multiple arguments into a sequence of families of functions, each taking a single argument
- The idea actually appears in the Begriffsschrift of Gottlob Frege, published in 1879.
Function arrows associate to the right and application associates to the left
ℕ → ℕ → ℕ
stands forℕ → (ℕ → ℕ)
_+_ 2 3
stands for(_+_ 2) 3
Congruence
- A relation is said to be a congruence for a given function if it is preserved by applying that function. If e is evidence that
x ≡ y
, thencong f e
is evidence thatf x ≡ f y
, for any functionf
.