Pony is an open-source, object-oriented, actor-model programming language created by Sylvan Clebsch and first released in 2015, designed to guarantee both high performance and data-race-free, deadlock-free concurrent programming through a capabilities-based type system enforced entirely at compile time. Pony programs are organized as independent actors that communicate only through asynchronous messages, and its type system statically proves the absence of data races without requiring locks, making Pony notable among concurrent languages for eliminating an entire class of concurrency bugs by construction rather than through runtime checks.
Facts
Classification
Typing Discipline Typing Discipline First Released SignificanceReference capabilities allow even mutable data to be safely passed by reference between actors. 1 FAQs
How does Pony avoid data races in concurrent programs?
The Pony tutorial describes it this way: "It’s data-race free. Pony doesn’t have locks or atomic operations or anything like that. Instead, the type system ensures at compile time that your concurrent program can never have data races."
Connections
Follows Typing Discipline
In Field
Source Pony (programming language) - Wikipedia
Influenced By
Pony's actor-model concurrency draws on Erlang's actor model.
Licensed Under
Sources
1. Pony (programming language) - Wikipedia
Lead, second sentence
Pony's reference capabilities allow even mutable data to be safely passed by reference between actors.
Infobox: released
April 28, 2015
Infobox: typing
strong, static, inferred, nominal, structural
In Group: Parallel and Distributed Programming Languages, Lead section
Pony (also known as ponylang) is a object-oriented, actor model, capabilities-secure, high performance programming language.
In Field: Programming Language Theory, Lead sentence
Pony (also known as ponylang) is a object-oriented, actor model, capabilities-secure, high performance programming language.
View the Source2. Wikidata: Pony
- Wikidata Q51160093, resolved via en.wikipedia pageprops (wave rule R-L)
- Wikidata Q51160093 P275 (license)
View the SourceReader Challenges (0)
No disputes yet. Spotted an error or a better source? Open the first one.
Sign in to dispute this or suggest a correction.