From: Tim Bunce [mailto:[EMAIL PROTECTED]] > > On Tue, Feb 06, 2001 at 12:28:23PM -0500, Dan Sugalski wrote: > > > > At 11:26 AM 2/6/2001 +0000, Tim Bunce wrote: > > > > > > On Mon, Feb 05, 2001 at 05:14:44PM -0500, Dan Sugalski wrote: > > > > > > > > =head2 Core datatypes > > > > > > > > For ease of use, we define the following semi-abstract > > > > data types > > > > > > Probably worth stating upfront that it'll be easy to add > > > new types to avoid people arguing for their favorite type > > > to be added here. > > > > I'm not sure it should be--that'd mean extending the > > vtables in ways they have little room to grow. Adding new > > perl datatypes is easy, adding new low-level types is harder. > > That's pretty much what I meant. I think it's worth saying. Adding comments like the ones Tim is suggesting, are just what someone like myself needs. A statement of the obvious and the context in which it fits... for those who haven't a clue and are trying to piece together a conceptual model of system. It saves me the conflict of deciding whether or not to pester you all with questions or not ask, never know and continue to be my own little mushroom. > > > > =head1 REFERENCES > > > > > > > > PDD 3: Perl's Internal Data Types. > > > > > > Some references to any other vtable based languages would > > > be good.(I presume people have looked at some and learnt > > > lessons.) > > > > Alas not. This is pretty much head of zeus stuff, modulo > > some ego. (Mine's not *that* big...) > > Without studying history we may be doomed to repeat it. > > So can anyone point to vtable based language implementations? Well, I may be one of the least qualified subscribers on this list, but I'm a pretty good gopher... Some of this relates to languages implementing vtables as opposed to being implemented with them. Everything I've scanned so far seems to raise the flag concerning overhead associated... Title: Portable Inheritance and Polymorphism in C URL: http://www.embedded.com/97/fe29712.htm Abstract: A lower-level view that assumes only a procedural language like C for embedded developers who want to apply OO without switching to an OO language Title: Programming Language Pragmatics URL: http://www.amazon.com/exec/obidos/ASIN/1558604421 Abstract: Mentions virtual methods and tables in Sections 10.4-5. It discusses vtables from a high level in the general context of Eiffel, Simula, C++, and Ada. Title: SableVM: A Research Framework for the Efficient Execution of Java Bytecode URL: http://www.j-meg.com/~egagnon/sable-report_2000-3/ Abstract: SableVM is an open-source virtual machine for Java2, intended as a research framework for efficient execution of Java bytecode. The framework is essentially composed of an extensible bytecode interpreter using state-of-the-art and innovative techniques. Written in the C programming language, and assuming minimal system dependencies, the interpreter emphasizes high-level techniques to support efficient execution. In particular, we introduce new data layouts for classes, virtual tables and object instances that reduce the cost of interface method calls to that of normal virtual calls, allow efficient garbage collection and light synchronization, and make effective use of memory space. Title: C++ Producer Guide URL: http://www.cse.unsw.edu.au/~patrykz/TenDRA/tcpplus/lib.html#vtable Abstract: vtable implementation in C++ Title: C++ ABI for IA-64 URL: http://reality.sgi.com/dehnert_engr/cxx/abi.html Abstract: vtables layout, etc. is discussed in sections 2.5-2.6 and scattered throughout. You can find similar information in C++ ABI documentation for Macintosh, etc.