Thread overview
Cyclone programming language and its influence
6 days ago
Walter Bright
5 days ago
jmh530
3 days ago
jmh530
6 days ago
A couple nice mentions of D!

https://pling.jondgoodwin.com/post/cyclone/
5 days ago
On Thursday, 15 October 2020 at 07:27:47 UTC, Walter Bright wrote:
> A couple nice mentions of D!
>
> https://pling.jondgoodwin.com/post/cyclone/

Really interesting article, thanks!

This article that it links to (it's mentioned in the section on Cone) looks of particular interest w.r.t. D's further development of memory safety features and alternatives to GC:
https://jondgoodwin.com/pling/gmm.pdf
5 days ago
On Friday, 16 October 2020 at 20:16:10 UTC, Joseph Rushton Wakeling wrote:
> [snip]
>
>
> This article that it links to (it's mentioned in the section on Cone) looks of particular interest w.r.t. D's further development of memory safety features and alternatives to GC:
> https://jondgoodwin.com/pling/gmm.pdf

That was interesting. It looks like a big part of that paper is basically taking the pony language's reference capabilities and then adding a lock permission, which sounds a lot like a shared mutable variable in D. Pony certainly comes across as interesting, but the emphasis on the actor model made it a bit hard for me to grok.
4 days ago
On Thursday, 15 October 2020 at 07:27:47 UTC, Walter Bright wrote:
> A couple nice mentions of D!
>
> https://pling.jondgoodwin.com/post/cyclone/

Hi Walter,

I'm glad you enjoyed my post and positive comments about D. I have long admired the design choices you have made with D. Some of these have inspired design choices I have made with my language Cone. Such inspirations include the use of arena memory management for speeding up the compiler, D's flavor of weakly "pure" functions or methods, and the rich collection of language capabilities around arrays.

I mention D positively in another post while talking about the pros and cons of various approaches towards inheritance, for example here:  https://pling.jondgoodwin.com/post/delegated-inheritance/

Good luck on your continued evolution of the D ecosystem

- Jonathan
4 days ago
On Friday, 16 October 2020 at 20:16:10 UTC, Joseph Rushton Wakeling wrote:
> On Thursday, 15 October 2020 at 07:27:47 UTC, Walter Bright wrote:
>> A couple nice mentions of D!
>>
>> https://pling.jondgoodwin.com/post/cyclone/
>
> Really interesting article, thanks!
>
> This article that it links to (it's mentioned in the section on Cone) looks of particular interest w.r.t. D's further development of memory safety features and alternatives to GC:
> https://jondgoodwin.com/pling/gmm.pdf

I am delighted you found my 3-year old paper on gradual memory management to be interesting and thought-provoking. My thoughts have deepened considerably since then on many fronts, including how to improve on the memory management versatility and safety features hinted at in that paper.

You can find more information on my Cone website:  https://cone.jondgoodwin.com  Of particular note on this topic are the pages in the language reference on various kinds of references and their region and permission annotations. My blog (at https://pling.jondgoodwin.com) has a nice series on Permissions and (someday) will have a similar deep dive into regions.

I love the way that language designers can cross-fertilize and build on great programming language innovations that improve the developer experience.
4 days ago
On Friday, 16 October 2020 at 21:59:44 UTC, jmh530 wrote:
> On Friday, 16 October 2020 at 20:16:10 UTC, Joseph Rushton Wakeling wrote:
>> [snip]
>>
>>
>> This article that it links to (it's mentioned in the section on Cone) looks of particular interest w.r.t. D's further development of memory safety features and alternatives to GC:
>> https://jondgoodwin.com/pling/gmm.pdf
>
> That was interesting. It looks like a big part of that paper is basically taking the pony language's reference capabilities and then adding a lock permission, which sounds a lot like a shared mutable variable in D. Pony certainly comes across as interesting, but the emphasis on the actor model made it a bit hard for me to grok.

You are right that half that paper focuses on what Pony calls reference capabilities and I call permissions. I have shared more of my thoughts in the 3-part post series that begins with this post:  https://pling.jondgoodwin.com/post/race-safe-strategies/

There is more to say on this topic, pioneered by Dr. Colin Gordon et al with M# (Midori) and picked up on by Pony, having to do with the safe movement of complex mutable graphs from one thread to another. The essential safety concept revolves around the notion of external isolation, mechanisms that prevent "external" objects from having shared references within the isolated graph. In future posts, I hope to explain this valuable technique and its usefulness.

The other half of that paper focuses on the concept of regions, orthogonal to permissions. At the time I wrote the paper, I was unfamiliar with Cyclone and how much more vigorously it explored the idea of a language supporting multiple memory management strategies. I believe the approach I am taking improves on what Cyclone accomplishes, but I am indebted to them for opening my eyes towards a path for supporting safe, first-class regions, which will be handy for arenas and pools.

The way I like to think about it is that regions promote memory safety and permissions support data race safety.
3 days ago
On Saturday, 17 October 2020 at 23:27:56 UTC, Jonathan Goodwin wrote:
> [snip]
> You are right that half that paper focuses on what Pony calls reference capabilities and I call permissions. I have shared more of my thoughts in the 3-part post series that begins with this post:  https://pling.jondgoodwin.com/post/race-safe-strategies/
> [snip]

Thanks for that.

The unique reference looks like it differs from Rust's system by not allowing const references (provided there is no mutable borrowing).