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=unavailable autolearn_force=no version=3.4.4 Path: eternal-september.org!reader01.eternal-september.org!reader02.eternal-september.org!news.eternal-september.org!news.eternal-september.org!mx05.eternal-september.org!feeder.eternal-september.org!news.stack.nl!reality.xs3.de!news.jacob-sparre.dk!loke.jacob-sparre.dk!pnx.dk!.POSTED!not-for-mail From: "Randy Brukardt" Newsgroups: comp.lang.ada Subject: Re: Help with embedded hardware/software platform selection for ADA Date: Fri, 5 Jul 2013 16:08:40 -0500 Organization: Jacob Sparre Andersen Research & Innovation Message-ID: References: <31f9819e-6509-4d67-acea-4d2ba9a96c04@googlegroups.com> <4csim6j63mk4.1c54vo5v7eu8c.dlg@40tude.net> <51d280e7$0$6556$9b4e6d93@newsspool4.arcor-online.net> <237325009394503647.389498laguest-archeia.com@nntp.aioe.org> <1042950743394579585.161198laguest-archeia.com@nntp.aioe.org> NNTP-Posting-Host: static-69-95-181-76.mad.choiceone.net X-Trace: loke.gir.dk 1373058523 28641 69.95.181.76 (5 Jul 2013 21:08:43 GMT) X-Complaints-To: news@jacob-sparre.dk NNTP-Posting-Date: Fri, 5 Jul 2013 21:08:43 +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:16120 Date: 2013-07-05T16:08:40-05:00 List-Id: "Luke A. Guest" wrote in message news:1042950743394579585.161198laguest-archeia.com@nntp.aioe.org... > "Randy Brukardt" wrote: >> "Luke A. Guest" wrote in message >> news:237325009394503647.389498laguest-archeia.com@nntp.aioe.org... >>> "Randy Brukardt" wrote: >>>> So, IMHO (and much like SPARK), Ravenscar is a tool needed only in very >>>> specialized circumstances (typically, some sort of certification >>>> requirement). Otherwise, one ought to forget about it and use Ada as it >>>> was >>>> intended. >>> >>> The point of this thread is this, you can't use stock GNAT rts with >>> these >>> small boards, it has to be custom and is something I'm working on. >> >> You can't really use Ada on those very small systems -- you can only use >> a >> tiny Ada subset, one that reduces the advantages of Ada a lot. Unless >> you're >> in the tiny minority of people that prefer the Ada *syntax* to that of C, >> you're not really gaining anything. (Ada witthout exceptions and most >> tasking isn't Ada at all, IMHO). RRS tried to serve that market back in >> the >> early days and got nowhere. > > You can have local exceptions no propagation, also can have a small > secondary stack and tasking. A "local exception" is just a very complicated way to write a go-to. Propagation (at least from a subprogram to its caller) is the entire point; without it, you have to handle potential errors after every call which clutters the code far too much. (Think a subprogram that includes a bunch of Puts; without exception propagation, one has to check for errors after every Put, even though write errors are very unlikely.) I don't see any point in worrying about a secondary stack; that's mainly used for returning objects of unknown size from functions, and that's a capability that can easily be avoided in programs (even if you don't allow heap use). (Besides the fact that it is better, IMHO to use managed heap for that anyway, especially on very memory-limited systems; programs that can't use the heap need very strong determinism and thus are going to be very limited in constructs in any case.) Randy.