invars

Single assignment variables


Keywords
functional-programming, python, single-assignment
License
GPL-3.0
Install
pip install invars==0.1.post2

Documentation

invars

This package brings invariable variables or single assignment variables to Python (like in Erlang and other functional programming languages).

Examples

one = 1
two = 2
...
two += one  # invalid!
total = 0
for i in range(4):
    total += i  # invalid!

Installation

$ pip install invars

Usage

$ invars my_script.py

Why?

In functional programming, assignment is discouraged in favor of single assignment. [...] Imperative assignment can introduce side effects while destroying and making the old value unavailable while substituting it with a new one

Wikipedia

Single assignment variables simplifies a lot of things because it takes out the "time" variable from your programs.

Stack Overflow

TODO

  • Integrate with flakes8