Pony (programming language): Difference between revisions

Content deleted Content added
Removed references to Rust and Go. Other minor changes/updates.
Mostly related to nominal/structural typing.
Line 13:
| latest_release_version = 0.58.5
| latest_release_date = {{start date and age|2024|06|01}}
| typing = [[strong typing|strong]], [[static typing|static]], [[type inference|inferred]], [[nominal typing|nominal]], [[structural typing|structural]]
| website = {{URL|http://www.ponylang.org}}
| year = {{release date and age|2012|11|09}}
| license = [[BSD licenses|BSD]]-2.<ref>https://github.com/ponylang/ponyc/blob/master/LICENSE</ref>
| file ext = .pony
| programming_language = [[C (programming language)|C]]
}}
 
'''Pony''' (oftensometimes referred to as '''Ponylangponylang''') is a [[Free software|free]] and [[open-source|open source]], object-oriented, [[actor_model|actor model]], [[Capability-based_security|capabilities-secure]], high performance programming language. Pony blends together [[Race condition|race-free]] guarantees, static typing, generics, traitsnominal typing, and the structural typing. Its reference capabilitiescapability<ref>{{cite web | url=http://dl.acm.org/citation.cfm?id=2824816 |title=Deny capabilities for safe, fast actors |authors=Sylvan Clebsch, Sophia Drossopoulou, Sebastian Blessing, Andy McNeil |date=2015-10-26}}</ref> system allows developers to be explicit about how data is shared among componentswithin and between actors.
 
==Language design==
At its core, Pony is a systems language designed around safety and performance.
 
* Type Safe - Pony is a ''very'' type safe language. For more details on why, check out the mathematical proof<ref>https://www.ponylang.org/media/papers/fast-cheap.pdf</ref>
* Memory Safe - There are no dangling pointers and no buffer overruns. There is no null but optional types can be represented using unions with the None type.
* Exception-Safe -There are no runtime exceptions. All exceptions have defined semantics, and they are always caught.
Line 35 ⟶ 36:
 
==Examples==
Here are aA few examples of idiomatic Pony follow.
 
===Hello World===