comp.lang.ada
 help / color / mirror / Atom feed
From: Jeffrey Carter <spam.jrcarter.not@spam.not.acm.org>
Subject: Re: Generics vs. O-O?
Date: Thu, 01 Aug 2013 13:35:57 -0700
Date: 2013-08-01T13:35:57-07:00	[thread overview]
Message-ID: <ktegf4$cqb$1@dont-email.me> (raw)
In-Reply-To: <fdf94891-3258-480d-a203-c157559e928f@googlegroups.com>

On 08/01/2013 01:10 PM, optikos@verizon.net wrote:
>
> Conversely, Ada utilizes a single instance of machine code & static data for
> an Ada generic, regardless of the type parameters passed at compile-time.
> This single instance of machine-code accommodates different type parameters
> by either branching (around different per-type-parameter treatment) or table
> look-up (of the size & structure of entities).  No such branching or
> table-lookup is present in the corresponding combinatorial explosion of C++
> template instantiation.  This conflation by branching or table look-up in Ada
> is precisely why the combinatorial explosion does not occur in Ada generics,
> as it does in C++ templates.

While Ada generics /can/ be implemented this way (see Janus/Ada for an instance 
proof), most Ada compilers do not implement generics this way, but do macro 
expansion (see GNAT for an example).

-- 
Jeff Carter
"I feel as though somebody stepped on my tongue
with muddy feet."
Never Give a Sucker an Even Break
112

  parent reply	other threads:[~2013-08-01 20:35 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-08-01 14:45 Generics vs. O-O? Eryndlia Mavourneen
2013-08-01 19:24 ` Dmitry A. Kazakov
2013-08-01 19:52   ` Eryndlia Mavourneen
2013-08-01 20:14     ` sbelmont700
2013-08-01 23:35       ` Yannick Duchêne (Hibou57)
2013-08-01 20:10   ` optikos
2013-08-01 20:26     ` Dmitry A. Kazakov
2013-08-01 20:35     ` Jeffrey Carter [this message]
2013-08-01 21:22     ` Bill Findlay
2013-08-01 23:38     ` Yannick Duchêne (Hibou57)
2013-08-01 22:20   ` Georg Bauhaus
2013-08-02  8:11     ` Dmitry A. Kazakov
2013-08-02  9:50       ` Georg Bauhaus
2013-08-02 14:09         ` Dmitry A. Kazakov
2013-08-02 15:08           ` Shark8
2013-08-02 15:36             ` Alan Jump
2013-08-02 17:00               ` Jeffrey Carter
2013-08-02 17:51               ` Dmitry A. Kazakov
2013-08-02 18:06                 ` Alan Jump
2013-08-02 19:08                   ` Dmitry A. Kazakov
2013-08-02 16:15             ` Dmitry A. Kazakov
2013-08-03  0:04       ` Yannick Duchêne (Hibou57)
2013-08-03  7:35         ` Georg Bauhaus
2013-08-03  8:57           ` Dmitry A. Kazakov
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox