Functional Programming with Coconut

Details
You are probably already doing some Functional Programming and don't even know it.
We write (class-free) functions in Python, we pass around functions like objects, we use map, filter, and zip, we use lambdas, and we might even be using functools and itertools.
These are some features that make Python very powerful. In this talk we will find out how to extend the Functional Programming features of Python to make it even more awesome. Come see how you can program in a functional style with the Coconut language.
Coconut gives us some great features of a functional language including:
partial application
lambdas (of course)
pattern matching
pipelines
function composition
parallel programming (Ohhhh!)
algebraic data types (my personal favorite)
And more ... .
More about Coconut
http://coconut-lang.org/
Coconut is a functional programming language that compiles to Python. Since all valid Python is valid Coconut, using Coconut will only extend and enhance what you're already capable of in Python.
Why use Coconut? Coconut is built to be fundamentally useful. Coconut enhances the repertoire of Python programmers to include the tools of modern functional programming, in such a way that those tools are easy to use and immensely powerful; that is, Coconut does to functional programming what Python did to imperative programming. And Coconut code runs the same on any Python version, making the Python 2/3 split a thing of the past.
More on Functional Programming:
https://en.wikipedia.org/wiki/Functional_programming

Functional Programming with Coconut