comp.lang.ada
 help / color / mirror / Atom feed
From: Martin <martin.dowie@btopenworld.com>
Subject: Re: Primitive curiosity...
Date: Wed, 24 Sep 2008 07:02:05 -0700 (PDT)
Date: 2008-09-24T07:02:05-07:00	[thread overview]
Message-ID: <48fbafe4-e95f-4fc1-bf15-9c3f031fb7fe@k30g2000hse.googlegroups.com> (raw)
In-Reply-To: f3c7099d-7406-4c6e-9a49-c0eba5205a95@q5g2000prf.googlegroups.com

On 17 Sep, 22:19, Adam Beneschan <a...@irvine.com> wrote:
[snip]
> For a tagged type, the things that need to be determined before it's
> frozen include something sometimes called the "dispatch vector" or
> "dispatch table" or something like that.  It's basically a table that
> contains the addresses of the primitive subprograms of the type.  Type
> extensions that may override those subprograms will have their own
> array with the primitive subprograms in the same slots in the array.
> Then, when you do a dispatching operation, the code generated by the
> compiler will just look in that slot in the array to see what
> procedure to execute.  That's how polymorphism takes place.

Those from a C++ background may think this sounds like a "vtable"...




      parent reply	other threads:[~2008-09-24 14:02 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-09-17 20:29 Primitive curiosity mockturtle
2008-09-17 21:13 ` Jeffrey R. Carter
2008-09-17 21:19 ` Adam Beneschan
2008-09-18 19:27   ` mockturtle
2008-09-24 14:02   ` Martin [this message]
replies disabled

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