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,INVALID_MSGID autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,30352abc52760363 X-Google-Attributes: gid103376,public From: eachus@spectre.mitre.org (Robert I. Eachus) Subject: Re: Delphi & Ada; Ada to C++ Date: 1998/03/05 Message-ID: #1/1 X-Deja-AN: 331230127 References: <01bd3cc5$a74ff160$LocalHost@xhv46.dial.pipex.com> <6chg3h$4qf@universe.digex.net> <6cms2p$7pv$1@news.nyu.edu> Organization: The Mitre Corp., Bedford, MA. Newsgroups: comp.lang.ada Date: 1998-03-05T00:00:00+00:00 List-Id: In article <6cms2p$7pv$1@news.nyu.edu> kenner@lab.ultra.nyu.edu (Richard Kenner) writes: > Actually, generics can be translated in a relatively straightforward > manner since it's just macro substitution. Exceptions are trickier, > but still can be done reasonable well. The real hard cases are > variant records and unconstrained arrays. Most Ada generics are translatable as macro substitution, but the devil is in the details. There are many instances where thunks or some other mechanism is required to deal with freezing at the point (during execution) of instantiation. In most cases, all that changes at run-time are ranges or array bounds, but it is also possible for the binding of names to subprograms to change... -- Robert I. Eachus with Standard_Disclaimer; use Standard_Disclaimer; function Message (Text: in Clever_Ideas) return Better_Ideas is...