Paradigm | Imperative, Functional |
---|---|
Designed by | David J. Pearce |
First appeared | June 2010 |
Stable release | 0.6.1
/ June 27, 2022 |
Typing discipline | Strong, safe, structural, flow-sensitive |
License | BSD |
Website | whiley |
Influenced by | |
Java, C, Python, Rust |
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.[1] 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.[2] The first public release of Whiley was in June, 2010.[3]
Primarily developed by David Pearce, Whiley is an open source project with contributions from a small community. The system has been used for student research projects and in teaching undergraduate classes.[4] It was supported between 2012 and 2014 by the Royal Society of New Zealand's Marsden Fund.[5]
The Whiley compiler generates code for the Java virtual machine and can interoperate with Java and other JVM-based languages.