From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.1 required=5.0 tests=BAYES_00, PP_MIME_FAKE_ASCII_TEXT autolearn=no autolearn_force=no version=3.4.4 Path: eternal-september.org!reader01.eternal-september.org!reader02.eternal-september.org!news.eternal-september.org!mx02.eternal-september.org!feeder.eternal-september.org!gandalf.srv.welterde.de!news.jacob-sparre.dk!franka.jacob-sparre.dk!pnx.dk!.POSTED!not-for-mail From: "Randy Brukardt" Newsgroups: comp.lang.ada Subject: Re: RFC: Prototype for a user threading library in Ada Date: Tue, 5 Jul 2016 16:38:39 -0500 Organization: JSA Research & Innovation Message-ID: References: <58b78af5-28d8-4029-8804-598b2b63013c@googlegroups.com> <1e32c714-34cf-4828-81fc-6b7fd77e4532@googlegroups.com> NNTP-Posting-Host: rrsoftware.com X-Trace: franka.jacob-sparre.dk 1467754716 990 24.196.82.226 (5 Jul 2016 21:38:36 GMT) X-Complaints-To: news@jacob-sparre.dk NNTP-Posting-Date: Tue, 5 Jul 2016 21:38:36 +0000 (UTC) X-Priority: 3 X-MSMail-Priority: Normal X-Newsreader: Microsoft Outlook Express 6.00.2900.5931 X-RFC2646: Format=Flowed; Original X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.6157 Xref: news.eternal-september.org comp.lang.ada:31023 Date: 2016-07-05T16:38:39-05:00 List-Id: "Hadrien Grasland" wrote in message news:bb07afac-5eaf-4622-b264-da6aef96e8d6@googlegroups.com... >Le samedi 2 juillet 2016 06:36:09 UTC+2, Randy Brukardt a écrit : >> But I don't think that really helps the race and deadlock issues that are >> the real problem with programming with Ada tasks. I'd like to find some >> help >> there, too ... >But shared mutable data is necessary to the efficient implementation of >data-parallel algorithms, so it should remain available to expert >programmers. Right. Gotta have it. >What I would love in the end is some kind of static analysis tool that >warns >people about shared mutable data in multitasking programs, but gives a way >to bypass the warning to people who actually know what they are doing. I want the Ada compiler (and thus language) to do this sort of checking. Otherwise we have the C -- Lint sort of situation, and we know from experience that doesn't really help. We've got some building blocks for this approach in the pipeline (aspect Nonblocking, aspect Global) which could help a lot if properly applied. I'd rather look at that than anything about performance details. >But to make this warning useful would also entail introducing a notion of >"deferred constants", that is, values which are defined at runtime but will >not be modified subsequently. Otherwise, there would be too many false >positives about program parameters that are loaded at runtime. Ada of course has these, they're called "constants" :-). One needs to modify their programming style somewhat to use them (must initialize with functions, for instance), but often that's an improvement. And it can make a world of difference to tools (and the Global aspect, should that ever get fully defined). Randy.