Functional Python Programming

(Wang) #1

The PyMonad Library


A monad allows us to impose an order on expression evaluation in an otherwise
lenient language. We can use a monad to insist that an expression such as a + b + c
is evaluated in left-to-right order. Generally, there seems to be no point to a monad.
When we want files to have their content read or written in a specific order, however,
a monad is a handy way to assure that the read() and write() functions are
evaluated in a particular order.


Languages that are lenient and have optimizing compilers benefit from monads to
impose order on evaluation of expressions. Python, for the most part, is strict and
does not optimize. We have little practical use for monads.


However, the PyMonad module is more than just monads. There are a number of
functional programming features that have a distinctive implementation. In some
cases, the PyMonad module can lead to programs which are more succinct and
expressive than those written using only the standard library modules.


Downloading and installing


The PyMonad module is available on Python Package Index (PyPi). In order to add
PyMonad to your environment, you'll need to use pip or Easy Install. Here are some
typical situations:



  • If you have Python 3.4 or higher, you have both of these installation
    package tools

  • If you have Python 3.x, you may already have either one of the necessary
    installers because you've added packages already

  • If you have Python 2.x, you should consider an upgrade to Python 3.4

  • If you don't have pip or Easy Install, you'll need to install them first; consider
    upgrading to Python 3.4 to get these installation tools


Visit https://pypi.python.org/pypi/PyMonad/ for more information.

Free download pdf