The programming model in P is based on concurrently executing state machines communicating via events, with each event accompanied by a typed payload value. A memory management system based on linear typing and unique pointers provides safe memory management and data-race-free concurrent execution. In this respect, P is similar to modern systems programming languages such as Rust (opens in new tab
![P: A programming language designed for asynchrony, fault-tolerance and uncertainty - Microsoft Research](https://cdn-ak-scissors.b.st-hatena.com/image/square/0960f7bdc9643a9dfe6c28af5e2659dbcfea2888/height=288;version=1;width=512/https%3A%2F%2Fwww.microsoft.com%2Fen-us%2Fresearch%2Fwp-content%2Fuploads%2F2017%2F05%2F685449582-small.jpg)