Everything about First-class function
Programming language feature
In computer science, a programming language is said to have first-class functions if it treats functions as first-class citizens. This means the language supports passing functions as arguments to other functions, returning them as the values from other functions, and assigning them to variables or storing them in data structures. Some programming language theorists require support for anonymous functions as well. In languages with first-class functions, the names of functions do not have any special status; they are treated like ordinary variables with a function type. The term was coined by Christopher Strachey in the context of "functions as first-class citizens" in the mid-1960s. Wikipedia →
🧭 Start here: a 6-step reading path
- Read the overview: First-class functionA 5-minute orientation
- Skim a recent paper: As48, a first-in-class dual-function TREM2 modulator: Receptor activation and shedding inhibitionInfluential work since 2022
- Pick up a classic book: Spectral analysis, differential equations, and mathematical physicsThe most-reprinted book on the subject
- Read the landmark paper: First in the Class? Age and the Education Production FunctionCited 65 times
- Go sideways: Closure (computer programming)A closely related topic
- Go sideways: Anonymous functionA closely related topic
📖 Definitions
No dictionary entry for this exact phrase.
🗂️ The subject at a glance
🏆 Landmark papers (most cited)
First in the Class? Age and the Education Production Function
Survey Return Rates as a Function of Priority versus First-Class Mailing
Elaboration with first-class implicit function types
First-Class Functions
Complexity of a class of first-order objective-function-free optimization algorithms
SURVEY RETURN RATES AS A FUNCTION OF PRIORITY VERSUS FIRST-CLASS MAILING
🆕 Influential since 2022
As48, a first-in-class dual-function TREM2 modulator: Receptor activation and shedding inhibition
23ME-00610, a genetically informed, first-in-class antibody targeting CD200R1 to enhance antitumor T cell function
Discovery of Novel, First-in-Class Allosteric Modulators of MALT1 Scaffolding Function with Differentiated Pharmacology for NFκB-Driven Malignancies
On Baire's First Class Functions and Blaschke Products
Type system for a statically typed concatenative programming language with first class function support
📚 Books worth reading
Spectral analysis, differential equations, and mathematical physicsFritz Gesztesy, H. Holden · 2013
Ranked by number of editions on Open Library, a rough measure of how lasting a book is.
🔗 Related topics
- Closure (computer programming) In programming languages, a closure, also lexical closure or function closure, is a technique for implementing lexically scoped name binding in a language…
- Anonymous function In computer programming, an anonymous function (function literal, lambda function, or block) is a function definition that is not bound to an identifier…
- Nested function In computer programming, a nested function (or nested procedure or subroutine) is a named function that is defined within another (enclosing) block and…
- Scope (computer programming) In computer programming, the scope of a name binding (an association of a name to an entity, such as a variable) is the part of a program in which the…
- Conditional (computer programming) In computer programming, a conditional statement directs program control flow based on the value of a condition; a Boolean expression. A conditional expression…
- Examples of anonymous functions In computer programming, an anonymous function (function literal, lambda function, or block) is a function definition that is not bound to an identifier…
- Non-local variable In programming language theory, a non-local variable is a variable that is not defined in the local scope. While the term can refer to global variables…
- Funarg problem In computer science, the funarg problem (function argument problem) is the difficulty in implementing first-class functions (functions as first-class objects)…