Whiley programming language is an actively used programming language created in 2009. Whiley is an experimental programming language that combines features from the functional and imperative paradigms, and supports formal specification through function preconditions, postconditions and loop invariants. The language uses flow-sensitive typing also known as "flow typing." The Whiley project began in 2009 in response to the "Verifying Compiler Grand Challenge" put forward by Tony Hoare in 2003. The first public release of Whiley was in June, 2010.Primarily developed by David Pearce, Whiley is an open source project with contributions from a small community. Read more on Wikipedia...

11Years Old 262Users ?Jobs

Example code from the web:

// Define the type of natural numbers
type nat is (int x) where x >= 0
public function indexOf(int[] items, int item) -> (int|null index)
// If int returned, element at this position matches item
ensures index is int ==> items[index] == item
// If int returned, element at this position is first match
ensures index is int ==> no { i in 0 .. index | items[i] == item }
// If null returned, no element in items matches item
ensures index is null ==> no { i in 0 .. |items| | items[i] == item }:
    nat i = 0
    while i < |items|
    // No element seen so far matches item
    where no { j in 0 .. i | items[j] == item }:
        if items[i] == item:
            return i
        i = i + 1
    return null

Last updated June 22nd, 2020

Edit Whiley programming language on GitHub