Tuples, functions, ghost functions and higher order functions

Software verification depends on clearly specified functions with well defined properties. Functions can be objects by themselves, i.e. they should be first class values.

Tuples can be used to treat functions with zero, one or more arguments and one or more return values uniformly. The article Tuples and functions demonstrate the versatility of tuples.

Functions might be computable or not computable. Clearly, in actual computations only computable functions can be used. However on the assertions level (when one reasons about computations) not computable functions are a powerful tool (as long as the functions are well defined). Ghost functions can be defined to fill this gap.

Higher order functions (i.e. functions that take functions as arguments and/or return functions as values) are standard in functional programming style. Higher order functions help to reason about software and can structure the assertions needed.

The article Ghost functions and higher order functions describes the basic concepts.

Pythonect 0.2.0 Release

Hi All,

I am pleased to announce the release of Pythonect 0.2.0, available from

This version fixes several bugs and adds a couple of new features.

Many thanks to everyone who contributed bug reports and feedback that went into this release!

What's New in Pythonect 0.2?

Core and builtins

- Feature #8: Implemented Autoloading. For example:

"Hello, world" -> sys.stdout.write

is equivalent to:

import sys -> "Hello, world" -> sys.stdout.write

- Feature #7: Python built-in dictionary as a switch statement. For example:

1 -> {1: 'One', 2: 'Two'} -> print

will print:


- Issue #6: Interpreter prints Strings without quotes

- Issue #5: Interpreter lags when pressing Enter key multiple times


- Issue #4: Pythonect reports incorrect version if installed via pip/sdist.