First-class functions can be assigned to variables, passed to other functions as arguments, or returned from other functions. The ability to return a function enables deferred execution. Functions that accept other functions as arguments are called higher-order functions.
Questions tagged [first-class-functions]
132 questions
104
votes
5 answers
Python - Passing a function into another function
I am solving a puzzle using python and depending on which puzzle I am solving I will have to use a special set of rules. How can I pass a function into another function in Python?
Example
def Game(listA, listB, rules):
if rules == True:
…
Hildur Sif Thorarensen
84
votes
7 answers
Assigning a function to a variable
Let's say I have a function
def x():
print(20)
Now I want to assign the function to a variable called y, so that if I use the y it calls the function x again. if i simply do the assignment y = x(), it returns None.

stensootla
- 13,945
- 9
- 45
- 68
54
votes
7 answers
What is a first-class-citizen function?
What is a first class citizen function?
Does Java supports first class citizen function?
Edit:
As mention on Wikepedia
First class functions are a necessity
for the functional programming style.
Is there any other use of first class functions?

Alpine
- 3,838
- 1
- 25
- 18
36
votes
4 answers
How do I reference a function in Ruby?
In python, it's fairly straightforward to reference a function:
>>> def foo():
... print "foo called"
... return 1
...
>>> x = foo
>>> foo()
foo called
1
>>> x()
foo called
1
>>> x
>>> foo

Jason Baker
- 192,085
- 135
- 376
- 510
32
votes
8 answers
What is first class function in Python
I am still confused about what first-class functions are. If I understand correctly, first-class functions should use one function as an object. Is this correct?
Is this a first-class function?
def this_is_example(myarg1):
return myarg1
def…

rwrwerwer
- 381
- 1
- 3
- 6
28
votes
2 answers
What is the difference between delegates in C# and functions as first class values in F#?
More specifically what are the characteristics (if any) that delegates have that functions as first class values in F# don't have; and what are the characteristics that functions as first class values have (if any) that delegates in C# don't have?

Steve Ellinger
- 3,957
- 21
- 19
26
votes
6 answers
What does it mean when the parentheses are omitted from a function or method call?
I have this example code:
class objectTest():
def __init__(self, a):
self.value = a
def get_value(self):
return self.value
a = objectTest(1)
b = objectTest(1)
print(a == b)
print(a.get_value() ==…

user3311142
- 345
- 1
- 4
- 13
19
votes
2 answers
Why isn't the Ruby 1.9 lambda call possible without the dot in front of the parentheses ?
I checked out the latest Ruby version, to play a bit with the latest changes. The first thing I tried to do was call a Ruby lambda/block/proc just like you'd do with a Python callable.
a = lambda {|x| puts x}
a.call(4) # works, and prints 4
a[4] #…

Geo
- 93,257
- 117
- 344
- 520
18
votes
4 answers
If functions in JS are first-class, what allows them to be called before they are defined?
Don't first class functions mean that they behave as variables? Clearly they don't behave exactly like variables though, since this:
console.log(foo);
var foo = 'bar';
...doesn't work, whereas this:
console.log(foo());
function foo() {
…

wwaawaw
- 6,867
- 9
- 32
- 42
13
votes
7 answers
Overriding Methods vs Assigning Method Delegates / Events in OOP
This is a bit of an odd oop question. I want to create a set of objects (known at design time) that each have certain functions associated with them.
I can either do this by giving my objects properties that can contain 'delegates':
public class…

Flash
- 15,945
- 13
- 70
- 98
10
votes
3 answers
Swift any difference between Closures and First-Class Functions?
In the Swift documentation Apple says this:
Closures are self-contained blocks of functionality that can be passed
around and used in your code. Closures in Swift are similar to blocks
in C and Objective-C and to lambdas in other programming…

Jeggy
- 1,474
- 1
- 19
- 35
9
votes
5 answers
“Functions are a first-class type” in swift?
the little knowledge , I have about first class function is that it supports passing functions as arguments and we can also return them as the values in another function ... I am very new in Swift programming language can anyone please elaborate it…

Anurag Bhakuni
- 2,379
- 26
- 32
9
votes
1 answer
ScalaFx: Event Handler with First Class Function
i try to write an event handler in a scalaFx app. I found followin solution:
import scalafx.scene.control.ListView
import javafx.scene.input.MouseEvent
import javafx.event.EventHandler
...
val list = new ListView[String] {
…

USSEraser
- 315
- 2
- 11
9
votes
2 answers
Pass a function (with arguments) as a parameter in PowerShell
I've been successfully passing no-argument functions around in PowerShell using ScriptBlocks. However, I can't get this to work if the function has arguments. Is there a way to do this in PowerShell? (v2 preferably)
Function Add([int] $x, [int] $y) …

Rob
- 4,327
- 6
- 29
- 55
8
votes
1 answer
Using overloaded functions as first class citizens
Suppose that we have several overloaded functions in one class:
func appendToABC(string s: String) -> String {
return "ABC \(s)"
}
func appendToABC(duplicatedString s: String) -> String {
return "ABC \(s)\(s)"
}
And we have some API that…

Anton Tyutin
- 626
- 1
- 5
- 15