Book Image

Functional Python Programming

By : Steven F. Lott, Steven F. Lott
Book Image

Functional Python Programming

By: Steven F. Lott, Steven F. Lott

Overview of this book

Table of Contents (23 chapters)
Functional Python Programming
Credits
About the Author
About the Reviewers
www.PacktPub.com
Preface
Index

Functional composition and currying


Some functional languages work by transforming a multiargument function syntax into a collection of single argument functions. This process is called currying—it's named after logician Haskell Curry, who developed the theory from earlier concepts.

Currying is a technique for transforming a multiargument function into higher order single argument functions. In the simple case, we have a function ; given two arguments x and y, this will return some resulting value, z. We can curry this into two functions: and . Given the first argument value, x, the function returns a new one-argument function, returns a new one-argument function, . This second function can be given an argument, y, and will return the resulting value, z.

We can evaluate a curried function in Python as follows: f_c(2)(3). We apply the curried function to the first argument value of 2, creating a new function. Then, we apply that new function to the second argument value of 3.

This applies...