---
key: pl/whiley
kind: plang
name: "Whiley"
url: https://plangs.page/whiley
---

# Whiley

> Functional and imperative language with contracts and formal specification features.

Combines features from the functional and imperative paradigms, and supports formal specification through function preconditions, postconditions, and loop invariants.

## Facts

- Appeared: 2010
- Homepage: http://whiley.org
- GitHub: https://github.com/Whiley/WhileyCompiler

## Relationships

### Paradigms

- [Functional](https://plangs.page/paradigm/functional)
- [Imperative](https://plangs.page/paradigm/imperative)

### Platforms

- [Cross-Platform](https://plangs.page/platform/cross)
- [Java](https://plangs.page/platform/java)

### Type Systems

- [Flow-Sensitive](https://plangs.page/type-system/flow)
- [Safe](https://plangs.page/type-system/safe)
- [Strong](https://plangs.page/type-system/strong)
- [Structural](https://plangs.page/type-system/structural)

### Influenced By

- [C](https://plangs.page/c)
- [Python](https://plangs.page/python)
- [Rust](https://plangs.page/rust)

### Licenses

- [BSD](https://plangs.page/license/bsd)

### Tags

- [Compiler](https://plangs.page/tag/compiler)
- [Interpreter](https://plangs.page/tag/interpreters)
- [Scientific Computing](https://plangs.page/tag/sci)
