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.
I am pleased to announce the release of Pythonect 0.2.0, available from https://github.com/downloads/ikotler/pythonect/Pythonect-0.2.0.tar.gz
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!
Active forum topics
New forum topics