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.9 required=5.0 tests=BAYES_00 autolearn=ham autolearn_force=no version=3.4.4 X-Google-Thread: 103376,1a44c40a66c293f3 X-Google-Thread: 1089ad,7e78f469a06e6516 X-Google-Attributes: gid103376,gid1089ad,public X-Google-Language: ENGLISH,ASCII-7-bit Path: g2news2.google.com!news3.google.com!border1.nntp.dca.giganews.com!nntp.giganews.com!nx01.iad01.newshosting.com!newshosting.com!newsfeed.icl.net!newsfeed.fjserv.net!colt.net!feeder.news-service.com!news2.euro.net!62.253.162.218.MISMATCH!news-in.ntli.net!newsrout1-win.ntli.net!ntli.net!news.highwinds-media.com!newspeer1-win.ntli.net!newsfe1-win.ntli.net.POSTED!53ab2750!not-for-mail From: "Dr. Adrian Wrigley" Subject: Re: Embedded languages based on early Ada (from "Re: Preferred OS, processor family for running embedded Ada?") User-Agent: Pan/0.14.2 (This is not a psychotic episode. It's a cleansing moment of clarity.) Message-Id: Newsgroups: comp.lang.ada,comp.lang.vhdl References: <1172192349.419694.274670@k78g2000cwa.googlegroups.com> <1172239820.896603.222120@k78g2000cwa.googlegroups.com> <113ls6wugt43q$.cwaeexcj166j$.dlg@40tude.net> MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit Date: Fri, 02 Mar 2007 11:36:22 GMT NNTP-Posting-Host: 82.21.99.109 X-Trace: newsfe1-win.ntli.net 1172835382 82.21.99.109 (Fri, 02 Mar 2007 11:36:22 GMT) NNTP-Posting-Date: Fri, 02 Mar 2007 11:36:22 GMT Organization: NTL Xref: g2news2.google.com comp.lang.ada:9634 comp.lang.vhdl:7601 Date: 2007-03-02T11:36:22+00:00 List-Id: On Thu, 01 Mar 2007 14:57:01 +0100, Dmitry A. Kazakov wrote: > On Thu, 01 Mar 2007 11:22:32 GMT, Dr. Adrian Wrigley wrote: > >> If you don't have multiple processors, lightweight threading is >> less attractive than if you do? Inmos/Occam/Transputer was founded >> on the basis that lightweight threading was highly relevant to multiple >> processors. >> >> Ada has no means of saying "Do these bits concurrently, if you like, >> because I don't care what the order of execution is". And a compiler >> can't work it out from the source. If your CPU has loads of threads, >> compiling code with "PAR" style language concurrency is rather useful >> and easy. > > But par is quite low-level. What would be the semantics of: > > declare > Thing : X; > begin > par > Foo Thing); > and > Bar Thing); > and > Baz Thing); > end par; > end; Do Foo, Bar and Baz in any order or concurrently, all accessing Thing. Roughly equivalent to doing the same operations in three separate tasks. Thing could be a protected object, if concurrent writes are prohibited. Seems simple enough! I'm looking for something like Cilk, but even the concurrent loop (JPR's for I in all 1 .. n loop?) would be a help. -- Adrian