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.3 required=5.0 tests=BAYES_00,MAILING_LIST_MULTI, REPLYTO_WITHOUT_TO_CC autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,c6150ba97747373e X-Google-Attributes: gid103376,public X-Google-ArrivalTime: 2002-06-16 20:17:07 PST Path: archiver1.google.com!news1.google.com!newsfeed.stanford.edu!skynet.be!skynet.be!freenix!enst!enst.fr!not-for-mail From: "Robert C. Leif" Newsgroups: comp.lang.ada Subject: RE: runtine instanciation Date: Sun, 16 Jun 2002 20:16:25 -0700 Organization: ENST, France Sender: comp.lang.ada-admin@ada.eu.org Message-ID: Reply-To: comp.lang.ada@ada.eu.org NNTP-Posting-Host: marvin.enst.fr Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit X-Trace: avanie.enst.fr 1024283825 51007 137.194.161.2 (17 Jun 2002 03:17:05 GMT) X-Complaints-To: usenet@enst.fr NNTP-Posting-Date: Mon, 17 Jun 2002 03:17:05 +0000 (UTC) Return-Path: X-Envelope-From: rleif@rleif.com X-Envelope-To: X-Priority: 3 (Normal) X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook, Build 10.0.3416 Importance: Normal In-Reply-To: X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2600.0000 Errors-To: comp.lang.ada-admin@ada.eu.org X-BeenThere: comp.lang.ada@ada.eu.org X-Mailman-Version: 2.0.8 Precedence: bulk List-Help: List-Post: List-Subscribe: , List-Id: comp.lang.ada mail<->news gateway List-Unsubscribe: , Errors-To: comp.lang.ada-admin@ada.eu.org X-BeenThere: comp.lang.ada@ada.eu.org Xref: archiver1.google.com comp.lang.ada:26112 Date: 2002-06-16T20:16:25-07:00 From: Bob Leif To: Dmitry Kazakov et al. I suspect that in many cases there is a very straightforward approach to accomplish the equivalent of runtime instantiation. In my own work on the creation of a new bioinformatics standard, CytometryML, I have a requirement to create an array of records, which can have up to 15 fields. Each of the data types for the fields (parameters) will be represented by a compiled package with a complete set of specific operations. However, the user (customer) at runtime will have the prerogative of selecting from 1 to 15 of these parameters to include in the record. Fortunately, this is directly analogous to the creation of the data type in a database. It does NOT have to occur instantaneously. Conceivably, the user could wait about a minute for this to occur. I would like to be able to compile and link the instantiation of the record and the array. Parenthetically, I am quite willing, if need be, to precompile 15 generic packages of records, which have from one to fifteen fields and instantiate only one of them. The 15 generic records perhaps could also be included in one package. Another similar problem, is to create a calculation program in Ada that is very general for evaluating a mathematical expression. If the expression can be converted to an Ada function, why not just compile it? I believe Rational and DEC had incremental compilers. Could this facility be made available, even in a space inefficient form, in one of the Ada 95 compilers? This approach has a significant potential commercial benefit for the vendors. It would require a runtime version of their compilers, which could be licensed for a fee to be ultimately paid by the end users of the program. Before any of the real-time enthusiasts become upset by this proposal, please remember, that this is not to be applied to the run-time operations of mission critical applications where execution time and scheduling are important. -----Original Message----- From: comp.lang.ada-admin@ada.eu.org [mailto:comp.lang.ada-admin@ada.eu.org] On Behalf Of Dmitry A.Kazakov Sent: Sunday, June 16, 2002 4:07 PM To: comp.lang.ada@ada.eu.org Subject: Re: runtine instanciation Immanuel Scholz wrote: > Hello again, > > In Ada, can create a class at runtime? Like the getClass().forClass() in > Java. > > As example create a variable from the type entered by the user at runtime. I am not sure what you want, but I suppose that Ada.Streams is what you need. In short it allows you to create a class-wide object from some external source (like user input) without a factory. Or better to say the factory is distributed over the implementations of 'Input/'Read attributes. -- Regards, Dmitry Kazakov www.dmitry-kazakov.de