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-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,571930b4ff0bc1ee X-Google-Attributes: gid103376,public X-Google-ArrivalTime: 2001-03-29 08:38:11 PST Path: supernews.google.com!sn-xit-03!supernews.com!64.71.136.253.MISMATCH!news!news.he.net!newsfeed.direct.ca!look.ca!newshub2.rdc1.sfba.home.com!news.home.com!news1.frmt1.sfba.home.com.POSTED!not-for-mail Message-ID: <3AC2E665.F45C18A@home.com> From: Mark Biggar X-Mailer: Mozilla 4.76 [en] (Win98; U) X-Accept-Language: en MIME-Version: 1.0 Newsgroups: comp.lang.ada Subject: Re: Compile time executed functions References: <3AC03CCE.70E3C2D5@mida.se> <87ae67qdrv.fsf@deneb.enyo.de> <87lmprow3a.fsf@deneb.enyo.de> <874rweoo2p.fsf@deneb.enyo.de> <3AC2EE4D.56D61A58@mida.se> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Date: Thu, 29 Mar 2001 16:35:32 GMT NNTP-Posting-Host: 65.3.211.243 X-Complaints-To: abuse@home.net X-Trace: news1.frmt1.sfba.home.com 985883732 65.3.211.243 (Thu, 29 Mar 2001 08:35:32 PST) NNTP-Posting-Date: Thu, 29 Mar 2001 08:35:32 PST Organization: Excite@Home - The Leader in Broadband http://home.com/faster Xref: supernews.google.com comp.lang.ada:6212 Date: 2001-03-29T16:35:32+00:00 List-Id: Ted Dennison wrote: > > In article <3AC2EE4D.56D61A58@mida.se>, Mats Karlssohn says... > > > >function (better probably to limit its ability to loop though). > > Of the 3 approaches I mentioned, I think this one (allowing it, but limiting it > so that infinte loops cannot be written) would probably be the most promising. > It would be a fair bit of work though. It'd be interesting to see some graduate > student do a thesis or disseration on this subject. It should be fairly possible > to build someting of this sort off of Gnat. It's been done many times. For example go read "Godel, Esher and Bach" by Hofsteder, the section on the *LOOP languages. Obviously you must outlaw abritrary "goto" statements, recursive procedures and while loops, but if (case) statements and Ada like "for" loops are fine. The trick it that you can only have looping construsts that allow the computation of a strict bound on the number of iterations, before the loop is entered. -- Mark Biggar mark.biggar@trustedsyslabs.cpm