==========================
Frequently asked questions
==========================

Usage
=====

Why a new functional programming library?
-----------------------------------------

Python is a multi-paradigm programming language and has some level of support
of functional programming. That said, most APIs tend to encourage object
oriented interfaces since that is what the language encourages and supports
better. Sidekick aims to make functional programming viable in Python.


Concepts
========

Immutable data types
--------------------

Immutable instances cannot change its value or internal state during the program
execution. Python has some notable immutable types: numbers, strings, tuples, and
others. In contrast, mutable data types can be modified. Good examples are lists
and dictionaries.
