mirror of
https://github.com/Mercury-Language/mercury.git
synced 2025-12-10 11:23:15 +00:00
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:
@@ -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
|
||||
|
||||
@@ -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.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user