Keep It Simple, Stupid PerlMonks

### Re^5: Simplifying repeated parameter lists (lambdas, anonymous functions, closures, currying )

 on Sep 19, 2012 at 20:44 UTC ( #994537=note: print w/replies, xml ) Need Help??

in reply to Re^4: Simplifying repeated parameter lists
in thread Simplifying repeated parameter lists

That could have worked :)

lambdas , lambda
The first lambda language to go mainstream ?

a new keyword "lambda language"

https://en.wikipedia.org/wiki/Lambda_language
https://en.wikipedia.org/wiki/Lambda_language#Lambda_calculus_and_programming_languages
https://en.wikipedia.org/wiki/Lambda_language#Anonymous_functions
https://en.wikipedia.org/wiki/Anonymous_function
https://en.wikipedia.org/wiki/Anonymous_function#Closures
https://en.wikipedia.org/wiki/Anonymous_function#Currying
https://en.wikipedia.org/wiki/Anonymous_function#Perl
Perl 5 supports anonymous functions, as follows:
```
(sub { print "I got called\n" })->();         # 1. fully anonymous, ca
+lled as created

my \$squarer = sub { my \$x = shift; \$x * \$x }; # 2. assigned to a varia
+ble

sub curry {
my (\$sub, @args) = @_;
return sub { \$sub->(@args, @_) };         # 3. as a return value o
+f another function
}

# example of currying in Perl
sub sum { my \$tot = 0; \$tot += \$_ for @_; \$tot } # returns the sum of
+its arguments
my \$curried = curry \&sum, 5, 7, 9;
print \$curried->(1,2,3), "\n";    # prints 27 ( = 5 + 7 + 9 + 1 + 2 +
+3 )

• Comment on Re^5: Simplifying repeated parameter lists (lambdas, anonymous functions, closures, currying )

Create A New User
Node Status?
node history
Node Type: note [id://994537]
help
Chatterbox?
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others exploiting the Monastery: (3)
As of 2018-02-25 12:12 GMT
Sections?
Information?
Find Nodes?
Leftovers?
Voting Booth?
When it is dark outside I am happiest to see ...

Results (312 votes). Check out past polls.

Notices?