www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.announce - [OT] Region-Based Storage Management: ParaSailing without a (Garbage)

reply Paulo Pinto <pjmlp progtools.org> writes:
Hi,

some might find this interesting.

A presentation about the ParaSail, system programming language based on Ada.

https://air.mozilla.org/region-based-storage-management-parasailing-without-a-garbage-chute/

It makes use of regions and compiler inference to automatically
manage memory, instead of using a GC.

Maybe some ideas for D types with custom allocators.

--
Paulo
Feb 10 2013
next sibling parent reply "bearophile" <bearophileHUGS lycos.com> writes:
Paulo Pinto:

 A presentation about the ParaSail, system programming language 
 based on Ada.

 https://air.mozilla.org/region-based-storage-management-parasailing-without-a-garbage-chute/
Seems interesting, almost 90 minutes of talk. Do you know if there is a link to download the slides?
 It makes use of regions and compiler inference to automatically
 manage memory, instead of using a GC.
It sounds similar to what Rust does.
 Maybe some ideas for D types with custom allocators.
To manage the regions Rust uses specific features of the type system (and a specific built-in syntax to parametrize types according to their region with a T/region syntax). Bye, bearophile
Feb 10 2013
parent Paulo Pinto <pjmlp progtools.org> writes:
Am 10.02.2013 15:16, schrieb bearophile:
 Paulo Pinto:

 A presentation about the ParaSail, system programming language based
 on Ada.

 https://air.mozilla.org/region-based-storage-management-parasailing-without-a-garbage-chute/
Seems interesting, almost 90 minutes of talk. Do you know if there is a link to download the slides?
Did not found any, besides the official blog. http://parasail-programming-language.blogspot.de/
 It makes use of regions and compiler inference to automatically
 manage memory, instead of using a GC.
It sounds similar to what Rust does.
Yes, the Rust developers are part of the audience.
Feb 10 2013
prev sibling next sibling parent "bearophile" <bearophileHUGS lycos.com> writes:
Paulo Pinto:

 https://air.mozilla.org/region-based-storage-management-parasailing-without-a-garbage-chute/
Half of the talk is about Parasail language in general. Despite the parallelism it looks like a simple enough language to learn (maybe even simpler than Go). At 9.08-9.56 he says "you have to specify the names of the objects you are referencing from the outer scope." It's like my idea of outer(): http://d.puremagic.com/issues/show_bug.cgi?id=5007 At 40.27-40.43 he shows a very easy to understand graph of how Rust manages its memory. When you have many CPU cores I think that organization scales better than D memory management. Bye, bearophile
Feb 15 2013
prev sibling parent reply "Tucker Taft" <taft parasail-pl.org> writes:
On Sunday, 10 February 2013 at 09:50:30 UTC, Paulo Pinto wrote:
 Hi,

 some might find this interesting.

 A presentation about the ParaSail, system programming language 
 based on Ada. ...
ParaSail is not really based on Ada, but it does try to incorporate good ideas from a number of languages, including Ada, ML/OCaml, Modula/Oberon, D ;-), etc. For more information on the design and implementation of ParaSail see: http://parasail-programming-language.blogspot.com -Tuck P.S. the e-mail address is a fake. If you want to reach me best is to post a question to the blog or the ParaSail Google Group: http://groups.google.com/group/parasail-programming-language -T
Feb 17 2013
next sibling parent "bearophile" <bearophileHUGS lycos.com> writes:
Tucker Taft:

 ParaSail is not really based on Ada, but it does try to 
 incorporate good ideas from a number of languages, including 
 Ada, ML/OCaml, Modula/Oberon, D ;-), etc.
Wow Tucker Taft himself :-) You seem quite expert, despite the very friendly attitude shown in this talk. As seen in a talk slide ParaSail throws away *lot* of stuff, to fulfill its main purpose of allowing lot of parallelism in an imperative language. While D is more a "kitchen sink" language, that takes lot of stuff from C, C++, Java and more. So D seems much more complex than ParaSail. On the other hand most things present in D are useful/handy. I don't know how well D will work on CPUs with 50-200 cores. The current simple GC has problems even on a single core, so on 100 cores I think it will become a mess. The Rust memory model seems quite more fit for that: http://i.imgur.com/16rxWXY.png The ParaSail idea of the need to specify what variables to use from outer scope is an idea that I like since few years, and I'd like a form of it in D (with an optional outer() or something similar) because in the years I have seen many problems caused by using by mistake identifiers from outer scopes. Bye, bearophile
Feb 17 2013
prev sibling parent Paulo Pinto <pjmlp progtools.org> writes:
Am 18.02.2013 01:22, schrieb Tucker Taft:
 On Sunday, 10 February 2013 at 09:50:30 UTC, Paulo Pinto wrote:
 Hi,

 some might find this interesting.

 A presentation about the ParaSail, system programming language based
 on Ada. ...
ParaSail is not really based on Ada, but it does try to incorporate good ideas from a number of languages, including Ada, ML/OCaml, Modula/Oberon, D ;-), etc.
Thanks for clearing that up. I got that impression due to the Ada like syntax and being developed by Ada Core. Only afterwards I discovered that you were already developing ParaSail before joining Ada Core. It looks nice though. -- Paulo
Feb 18 2013