Add pointers in each file to the other, since they contain respectively

Estimated hours taken: 0.1
Branches: main

runtime/mercury_type_info.h:
runtime/mercury_typeclass_info.h:
	Add pointers in each file to the other, since they contain respectively
	the current and prospective new designs for the implementation of
	typeclass_infos.

	Add a XXX for missing documentation.
This commit is contained in:
Zoltan Somogyi
2012-01-09 03:31:08 +00:00
parent 66176a407e
commit 2871b57900
2 changed files with 22 additions and 13 deletions

View File

@@ -2,24 +2,28 @@
** vim: ts=4 sw=4 expandtab
*/
/*
** Copyright (C) 1995-2007, 2009, 2011 The University of Melbourne.
** Copyright (C) 1995-2007, 2009, 2011-2012 The University of Melbourne.
** This file may only be copied under the terms of the GNU Library General
** Public License - see the file COPYING.LIB in the Mercury distribution.
*/
/*
** mercury_type_info.h -
** Definitions for accessing the type_infos, type_layouts, and
** type_functors tables generated by the Mercury compiler.
** Definitions of the types defining the type_ctor_infos, type_infos,
** pseudo_type_infos, base_typeclass_infos and typeclass_infos generated
** by the Mercury compiler, together with the macros and functions for
** manipulating them.
**
** Changes to the structures of type_infos and pseudo_type_infos
** may also require changes in:
** There is a newer and better design for representing typeclass_infos
** in mercury_typeclass_info.h, but it is not used yet.
**
** Changes to the structures of type_infos and pseudo_type_infos
** may also require changes in:
**
** compiler/polymorphism.m
** compiler/pseudo_type_info.m
** compiler/higher_order.m
**
** Changes to the structures of type_ctor_infos may require changes in:
** Changes to the structures of type_ctor_infos may require changes in:
**
** compiler/type_ctor_info.m
** compiler/rtti.m
@@ -37,8 +41,8 @@
** (for updating the hand-written RTTI
** structures)
**
** Both kinds of changes will of course also require changes to the code
** that traverses type_infos and type_ctor_infos:
** Both kinds of changes will of course also require changes to the code
** that traverses type_infos and type_ctor_infos:
**
** runtime/mercury_deep_copy_body.h
** runtime/mercury_table_type_body.h
@@ -47,6 +51,9 @@
**
** java/ *.java
** (for updating the Java backend RTTI structures)
**
** XXX Document what files changes may be required in after changes to the
** structures of base_typeclass_infos and typeclass_infos.
*/
#ifndef MERCURY_TYPE_INFO_H

View File

@@ -2,15 +2,17 @@
** vim: ts=4 sw=4 expandtab
*/
/*
** Copyright (C) 2002-2005, 2007 The University of Melbourne.
** Copyright (C) 2002-2005, 2007, 2012 The University of Melbourne.
** This file may only be copied under the terms of the GNU Library General
** Public License - see the file COPYING.LIB in the Mercury distribution.
*/
/*
** This file contains design for a new runtime representation of typeclass
** information. It is not used yet. The mail that introduced this file
** follows.
** information. It is not used yet; the design we DO use is implemented
** in mercury_type_info.h.
**
** The mail that introduced this file follows.
*/
/*
@@ -50,7 +52,7 @@ the growth is mostly in statically allocated data structures. Also, the new
design is in type-safe C, for ease of debugging its implementation. There
should be a type-safe Mercury version of it as well, for future use in the
Java and IL backends. The reason why there isn't one yet is that some these
structures must contain references to polymporphic procedures, since methods
structures must contain references to polymorphic procedures, since methods
may be polymorphic. Mercury doesn't (yet) support polymorphic procedures,
even if (as here) only the compiler can create them.