lambdaclass / concrete

Concrete is a simple programming language specifically crafted for creating highly scalable systems that are reliable, efficient, and easy to maintain.
Apache License 2.0
123 stars 11 forks source link

Check reference capabilities and Pony in general for concurrency #18

Open unbalancedparentheses opened 8 months ago

unbalancedparentheses commented 8 months ago

It’s type safe. Really type safe. There’s a mathematical proof and everything. It’s memory safe. Ok, this comes with type safe, but it’s still interesting. There are no dangling pointers, no buffer overruns, heck, the language doesn’t even have the concept of null! It’s exception safe. There are no runtime exceptions. All exceptions have defined semantics, and they are always handled. 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. So you can write highly concurrent code and never get it wrong. It’s deadlock free. This one is easy because Pony has no locks at all! So they definitely don’t deadlock, because they don’t exist.

Source