[m-rev.] for post-commit review: step 2 of eliminating type_info/1's argument

Zoltan Somogyi zs at cs.mu.OZ.AU
Thu Sep 22 16:16:47 AEST 2005


This is step 2 of eliminating the arguments of the type_ctor_info, type_info,
base_typeclass_info and typeclass_info type constructors. This step changes
the arity of those type constructors from 1 to 0, and starts generating
references to them again. Due to bootstrapping issues, we can't delete the
zero_type_ctor_info, zero_type_info, zero_base_typeclass_info and
zero_typeclass_info types yet; that will be step 3.

library/private_builtin.m:
	Change the arity of those type constructors.

runtime/mercury_builtin_types.m:
	Update the unify and compare predicates of the old type constructors
	for their new arity.

compiler/polymorphism.m:
compiler/size_prof.m:
compiler/type_util.m:
	Generate references to the newly arity-0 old type constructions.

compiler/type_ctor_info.m:
compiler/type_util.m:
trace/mercury_trace_vars.c:
	Update references to the old types to reflect their new arities.

compiler/type_ctor_info.m:
	There are no more fake arities.

library/io.m:
library/rtti_implementation.m:
library/string.m:
library/table_builtin.m:
	Update references to the old types for their new arities.

Zoltan.

cvs diff: Diffing .
cvs diff: Diffing analysis
cvs diff: Diffing bindist
cvs diff: Diffing boehm_gc
cvs diff: Diffing boehm_gc/Mac_files
cvs diff: Diffing boehm_gc/cord
cvs diff: Diffing boehm_gc/cord/private
cvs diff: Diffing boehm_gc/doc
cvs diff: Diffing boehm_gc/include
cvs diff: Diffing boehm_gc/include/private
cvs diff: Diffing boehm_gc/tests
cvs diff: Diffing browser
cvs diff: Diffing bytecode
cvs diff: Diffing compiler
Index: compiler/polymorphism.m
===================================================================
RCS file: /home/mercury/mercury1/repository/mercury/compiler/polymorphism.m,v
retrieving revision 1.275
diff -u -b -r1.275 polymorphism.m
--- compiler/polymorphism.m	19 Sep 2005 07:26:25 -0000	1.275
+++ compiler/polymorphism.m	19 Sep 2005 13:24:35 -0000
@@ -2392,7 +2392,7 @@
 	% We extract the superclass typeclass_info by inserting a call
 	% to superclass_from_typeclass_info in private_builtin.
 	goal_util__generate_simple_call(mercury_private_builtin_module,
-		"zero_superclass_from_typeclass_info", predicate, only_mode,
+		"superclass_from_typeclass_info", predicate, only_mode,
 		det, [SubClassVar, IndexVar, Var], [], [], ModuleInfo,
 		term__context_init, SuperClassGoal),
 	!:ExtraGoals = [SuperClassGoal, IndexGoal | !.ExtraGoals].
@@ -3068,7 +3068,7 @@
 	polymorphism__new_type_info_var_raw(Type, type_info, TypeInfoVar,
 		!VarSet, !VarTypes, !RttiVarMaps),
 	goal_util__generate_simple_call(mercury_private_builtin_module,
-		"zero_type_info_from_typeclass_info", predicate, only_mode,
+		"type_info_from_typeclass_info", predicate, only_mode,
 		det, [TypeClassInfoVar, IndexVar, TypeInfoVar], [],
 		[TypeInfoVar - ground(shared, none)], ModuleInfo,
 		term__context_init, CallGoal),
@@ -3200,8 +3200,7 @@
 	% Note: we no longer store meaningful information in the argument
 	% of typeclass_info/1.
 	PrivateBuiltin = mercury_private_builtin_module,
-	TypeclassInfoTypeName =
-		qualified(PrivateBuiltin, "zero_typeclass_info"),
+	TypeclassInfoTypeName = qualified(PrivateBuiltin, "typeclass_info"),
 	DictionaryType = defined(TypeclassInfoTypeName, [], star).
 
 %---------------------------------------------------------------------------%
@@ -3210,7 +3209,7 @@
 	PrivateBuiltin = mercury_private_builtin_module,
 	(
 		type_to_ctor_and_args(TypeClassInfoType,
-			qualified(PrivateBuiltin, "typeclass_info") - 1,
+			qualified(PrivateBuiltin, "typeclass_info") - 0,
 			[_ConstraintTerm])
 	;
 		type_to_ctor_and_args(TypeClassInfoType,
@@ -3220,12 +3219,11 @@
 
 polymorphism__type_is_type_info_or_ctor_type(TypeInfoType) :-
 	type_to_ctor_and_args(TypeInfoType,
-		qualified(mercury_private_builtin_module, TypeName) - Arity,
-		Args),
-	( TypeName = "type_info", Args = [_], Arity = 1
-	; TypeName = "type_ctor_info", Args = [_], Arity = 1
-	; TypeName = "zero_type_info", Args = [], Arity = 0
-	; TypeName = "zero_type_ctor_info", Args = [], Arity = 0
+		qualified(mercury_private_builtin_module, TypeName) - 0, []),
+	( TypeName = "type_info"
+	; TypeName = "type_ctor_info"
+	; TypeName = "zero_type_info"
+	; TypeName = "zero_type_ctor_info"
 	).
 
 polymorphism__build_type_info_type(Type, TypeInfoType) :-
Index: compiler/size_prof.m
===================================================================
RCS file: /home/mercury/mercury1/repository/mercury/compiler/size_prof.m,v
retrieving revision 1.23
diff -u -b -r1.23 size_prof.m
--- compiler/size_prof.m	19 Sep 2005 07:26:25 -0000	1.23
+++ compiler/size_prof.m	19 Sep 2005 13:26:50 -0000
@@ -884,8 +884,8 @@
             !:Info = !.Info ^ vartypes := VarTypes,
             PrivateBuiltin = mercury_private_builtin_module,
             goal_util__generate_simple_call(PrivateBuiltin,
-                "zero_type_info_from_typeclass_info", predicate, only_mode,
-                det, [TypeClassInfoVar, SlotVar, TypeInfoVar], [],
+                "type_info_from_typeclass_info", predicate, only_mode, det,
+                [TypeClassInfoVar, SlotVar, TypeInfoVar], [],
                 [TypeInfoVar - ground(shared, none)],
                 !.Info ^ module_info, Context, ExtractGoal),
             record_type_info_var(Type, TypeInfoVar, !Info),
Index: compiler/type_ctor_info.m
===================================================================
RCS file: /home/mercury/mercury1/repository/mercury/compiler/type_ctor_info.m,v
retrieving revision 1.67
diff -u -b -r1.67 type_ctor_info.m
--- compiler/type_ctor_info.m	19 Sep 2005 07:26:26 -0000	1.67
+++ compiler/type_ctor_info.m	19 Sep 2005 13:18:51 -0000
@@ -393,24 +393,6 @@
         ;
             true
         ),
-        (
-            ModuleName = unqualified(ModuleStr2),
-            ModuleStr2 = "private_builtin",
-            TypeArity = 1,
-            ( TypeName = "type_info"
-            ; TypeName = "type_ctor_info"
-            ; TypeName = "typeclass_info"
-            ; TypeName = "base_typeclass_info"
-            ; TypeName = "zero_type_info"
-            ; TypeName = "zero_type_ctor_info"
-            ; TypeName = "zero_typeclass_info"
-            ; TypeName = "zero_base_typeclass_info"
-            )
-        ->
-            svset__insert(typeinfo_fake_arity_flag, !Flags)
-        ;
-            true
-        ),
         TypeCtorData = type_ctor_data(Version, ModuleName, TypeName, TypeArity,
             UnifyUniv, CompareUniv, !.Flags, Details)
     ),
@@ -437,10 +419,10 @@
 :- pred impl_type_ctor(string::in, string::in, int::in, impl_ctor::out)
     is semidet.
 
-impl_type_ctor("private_builtin", "type_ctor_info", 1, type_ctor_info).
-impl_type_ctor("private_builtin", "type_info", 1, type_info).
-impl_type_ctor("private_builtin", "typeclass_info", 1, typeclass_info).
-impl_type_ctor("private_builtin", "base_typeclass_info", 1,
+impl_type_ctor("private_builtin", "type_ctor_info", 0, type_ctor_info).
+impl_type_ctor("private_builtin", "type_info", 0, type_info).
+impl_type_ctor("private_builtin", "typeclass_info", 0, typeclass_info).
+impl_type_ctor("private_builtin", "base_typeclass_info", 0,
     base_typeclass_info).
 impl_type_ctor("private_builtin", "zero_type_ctor_info", 0, type_ctor_info).
 impl_type_ctor("private_builtin", "zero_type_info", 0, type_info).
Index: compiler/type_util.m
===================================================================
RCS file: /home/mercury/mercury1/repository/mercury/compiler/type_util.m,v
retrieving revision 1.154
diff -u -b -r1.154 type_util.m
--- compiler/type_util.m	19 Sep 2005 07:26:26 -0000	1.154
+++ compiler/type_util.m	20 Sep 2005 06:23:21 -0000
@@ -550,15 +550,15 @@
 type_ctor_is_array(qualified(unqualified("array"), "array") - 1).
 
 type_ctor_has_hand_defined_rtti(Type, Body) :-
-	Type = qualified(mercury_private_builtin_module, Name) - Arity,
-	( Name = "type_info", Arity = 1
-	; Name = "type_ctor_info", Arity = 1
-	; Name = "typeclass_info", Arity = 1
-	; Name = "base_typeclass_info", Arity = 1
-	; Name = "zero_type_info", Arity = 0
-	; Name = "zero_type_ctor_info", Arity = 0
-	; Name = "zero_typeclass_info", Arity = 0
-	; Name = "zero_base_typeclass_info", Arity = 0
+	Type = qualified(mercury_private_builtin_module, Name) - 0,
+	( Name = "type_info"
+	; Name = "type_ctor_info"
+	; Name = "typeclass_info"
+	; Name = "base_typeclass_info"
+	; Name = "zero_type_info"
+	; Name = "zero_type_ctor_info"
+	; Name = "zero_typeclass_info"
+	; Name = "zero_base_typeclass_info"
 	),
 	\+ (	Body = du_type(_, _, _, _, _, yes(_))
 	   ;	Body = foreign_type(_)
@@ -570,16 +570,16 @@
 	is_introduced_type_info_type_ctor(TypeCtor).
 
 is_introduced_type_info_type_ctor(TypeCtor) :-
-	TypeCtor = qualified(PrivateBuiltin, Name) - Arity,
+	TypeCtor = qualified(PrivateBuiltin, Name) - 0,
 	mercury_private_builtin_module(PrivateBuiltin),
-	( Name = "type_info", Arity = 1
-	; Name = "type_ctor_info", Arity = 1
-	; Name = "typeclass_info", Arity = 1
-	; Name = "base_typeclass_info", Arity = 1
-	; Name = "zero_type_info", Arity = 0
-	; Name = "zero_type_ctor_info", Arity = 0
-	; Name = "zero_typeclass_info", Arity = 0
-	; Name = "zero_base_typeclass_info", Arity = 0
+	( Name = "type_info"
+	; Name = "type_ctor_info"
+	; Name = "typeclass_info"
+	; Name = "base_typeclass_info"
+	; Name = "zero_type_info"
+	; Name = "zero_type_ctor_info"
+	; Name = "zero_typeclass_info"
+	; Name = "zero_base_typeclass_info"
 	).
 
 is_introduced_type_info_type_category(int_type) = no.
@@ -632,13 +632,13 @@
 		TypeCategory = str_type
 	; TypeCtor = unqualified("void") - 0 ->
 		TypeCategory = void_type
-	; TypeCtor = qualified(PrivateBuiltin, "type_info") - 1 ->
+	; TypeCtor = qualified(PrivateBuiltin, "type_info") - 0 ->
 		TypeCategory = type_info_type
-	; TypeCtor = qualified(PrivateBuiltin, "type_ctor_info") - 1 ->
+	; TypeCtor = qualified(PrivateBuiltin, "type_ctor_info") - 0 ->
 		TypeCategory = type_ctor_info_type
-	; TypeCtor = qualified(PrivateBuiltin, "typeclass_info") - 1 ->
+	; TypeCtor = qualified(PrivateBuiltin, "typeclass_info") - 0 ->
 		TypeCategory = typeclass_info_type
-	; TypeCtor = qualified(PrivateBuiltin, "base_typeclass_info") - 1 ->
+	; TypeCtor = qualified(PrivateBuiltin, "base_typeclass_info") - 0 ->
 		TypeCategory = base_typeclass_info_type
 	; TypeCtor = qualified(PrivateBuiltin, "zero_type_info") - 0 ->
 		TypeCategory = type_info_type
@@ -856,11 +856,11 @@
 
 type_info_type = defined(Name, [], star) :-
 	mercury_private_builtin_module(BuiltinModule),
-	Name = qualified(BuiltinModule, "zero_type_info").
+	Name = qualified(BuiltinModule, "type_info").
 
 type_ctor_info_type = defined(Name, [], star) :-
 	mercury_private_builtin_module(BuiltinModule),
-	Name = qualified(BuiltinModule, "zero_type_ctor_info").
+	Name = qualified(BuiltinModule, "type_ctor_info").
 
 aditi_state_type = defined(Name, [], star) :-
 	aditi_public_builtin_module(BuiltinModule),
cvs diff: Diffing compiler/notes
cvs diff: Diffing debian
cvs diff: Diffing debian/patches
cvs diff: Diffing deep_profiler
cvs diff: Diffing deep_profiler/notes
cvs diff: Diffing doc
cvs diff: Diffing extras
cvs diff: Diffing extras/aditi
cvs diff: Diffing extras/cgi
cvs diff: Diffing extras/complex_numbers
cvs diff: Diffing extras/complex_numbers/samples
cvs diff: Diffing extras/complex_numbers/tests
cvs diff: Diffing extras/concurrency
cvs diff: Diffing extras/curs
cvs diff: Diffing extras/curs/samples
cvs diff: Diffing extras/curses
cvs diff: Diffing extras/curses/sample
cvs diff: Diffing extras/dynamic_linking
cvs diff: Diffing extras/error
cvs diff: Diffing extras/graphics
cvs diff: Diffing extras/graphics/easyx
cvs diff: Diffing extras/graphics/easyx/samples
cvs diff: Diffing extras/graphics/mercury_glut
cvs diff: Diffing extras/graphics/mercury_opengl
cvs diff: Diffing extras/graphics/mercury_tcltk
cvs diff: Diffing extras/graphics/samples
cvs diff: Diffing extras/graphics/samples/calc
cvs diff: Diffing extras/graphics/samples/gears
cvs diff: Diffing extras/graphics/samples/maze
cvs diff: Diffing extras/graphics/samples/pent
cvs diff: Diffing extras/lazy_evaluation
cvs diff: Diffing extras/lex
cvs diff: Diffing extras/lex/samples
cvs diff: Diffing extras/lex/tests
cvs diff: Diffing extras/logged_output
cvs diff: Diffing extras/moose
cvs diff: Diffing extras/moose/samples
cvs diff: Diffing extras/moose/tests
cvs diff: Diffing extras/morphine
cvs diff: Diffing extras/morphine/non-regression-tests
cvs diff: Diffing extras/morphine/scripts
cvs diff: Diffing extras/morphine/source
cvs diff: Diffing extras/odbc
cvs diff: Diffing extras/posix
cvs diff: Diffing extras/quickcheck
cvs diff: Diffing extras/quickcheck/tutes
cvs diff: Diffing extras/references
cvs diff: Diffing extras/references/samples
cvs diff: Diffing extras/references/tests
cvs diff: Diffing extras/solver_types
cvs diff: Diffing extras/solver_types/library
cvs diff: Diffing extras/stream
cvs diff: Diffing extras/trailed_update
cvs diff: Diffing extras/trailed_update/samples
cvs diff: Diffing extras/trailed_update/tests
cvs diff: Diffing extras/xml
cvs diff: Diffing extras/xml/samples
cvs diff: Diffing extras/xml_stylesheets
cvs diff: Diffing java
cvs diff: Diffing java/runtime
cvs diff: Diffing library
Index: library/io.m
===================================================================
RCS file: /home/mercury/mercury1/repository/mercury/library/io.m,v
retrieving revision 1.333
diff -u -b -r1.333 io.m
--- library/io.m	19 Sep 2005 04:29:00 -0000	1.333
+++ library/io.m	19 Sep 2005 13:04:03 -0000
@@ -3983,7 +3983,7 @@
 
 same_array_elem_type(_, _).
 
-:- pred same_private_builtin_type(private_builtin__type_info(T)::unused,
+:- pred same_private_builtin_type(private_builtin__type_info::unused,
     T::unused) is det.
 
 same_private_builtin_type(_, _).
@@ -4221,7 +4221,7 @@
     io__write(List, !IO),
     io__write_string(")", !IO).
 
-:- pred io__write_private_builtin_type_info(private_builtin__type_info(T)::in,
+:- pred io__write_private_builtin_type_info(private_builtin__type_info::in,
     io::di, io::uo) is det.
 
 io__write_private_builtin_type_info(PrivateBuiltinTypeInfo, !IO) :-
Index: library/private_builtin.m
===================================================================
RCS file: /home/mercury/mercury1/repository/mercury/library/private_builtin.m,v
retrieving revision 1.143
diff -u -b -r1.143 private_builtin.m
--- library/private_builtin.m	19 Sep 2005 07:26:30 -0000	1.143
+++ library/private_builtin.m	19 Sep 2005 13:01:54 -0000
@@ -279,31 +279,14 @@
     % This section of the module handles the runtime representation of
     % type information.
 
-    % The actual arities of these two function symbols are variable;
-    % they depend on the number of type parameters of the type represented
-    % by the type_info, and how many predicates we associate with each type.
-    %
-    % Note that, since these types look to the compiler as though they
-    % are candidates to become no_tag types, special code is required
-    % to handle them in type_util:type_is_no_tag_type/3.
-
-:- type type_info(T) ---> type_info(type_ctor_info(T) /*, ... */).
-:- type type_ctor_info(T) ---> type_ctor_info(int /*, ... */).
+:- type type_info.
+:- type type_ctor_info.
 
 :- type zero_type_info.
 :- type zero_type_ctor_info.
 
-    % The type variable in these types isn't really a type variable,
-    % it is a place for polymorphism.m to put a representation of the
-    % class constraint about which the typeclass_info carries information.
-    %
-    % Note that, since these types look to the compiler as though they
-    % are candidates to become no_tag types, special code is required
-    % to handle them in type_util:type_is_no_tag_type/3.
-
-:- type typeclass_info(T) ---> typeclass_info(base_typeclass_info(T)
-                        /*, ... */).
-:- type base_typeclass_info(_) ---> typeclass_info(int /*, ... */).
+:- type typeclass_info.
+:- type base_typeclass_info.
 
 :- type zero_typeclass_info.
 :- type zero_base_typeclass_info.
@@ -312,8 +295,18 @@
     % used for copying type_info/1 and typeclass_info/1 types.
     % XXX Document me better
     %
-:- type sample_type_info ---> sample_type_info(type_info(int)).
-:- type sample_typeclass_info ---> sample_typeclass_info(typeclass_info(int)).
+:- type sample_type_info
+    ---> sample_type_info(old_type_info(int)).
+:- type sample_typeclass_info
+    ---> sample_typeclass_info(old_typeclass_info(int)).
+:- type old_type_info(T)
+    ---> old_type_info(old_type_ctor_info(T)).
+:- type old_type_ctor_info(T)
+    ---> old_type_ctor_info(int).
+:- type old_typeclass_info(T)
+    ---> old_typeclass_info(old_base_typeclass_info(T)).
+:- type old_base_typeclass_info(_)
+    ---> old_typeclass_info(int).
 
     % type_info_from_typeclass_info(TypeClassInfo, Index, TypeInfo):
     %
@@ -323,8 +316,8 @@
     % Note: Index must be equal to the number of the desired type_info
     % plus the number of superclasses for this class.
     %
-:- pred type_info_from_typeclass_info(typeclass_info(_)::in, int::in,
-    type_info(T)::out) is det.
+:- pred type_info_from_typeclass_info(typeclass_info::in, int::in,
+    type_info::out) is det.
 :- pred zero_type_info_from_typeclass_info(zero_typeclass_info::in, int::in,
     zero_type_info::out) is det.
 
@@ -334,8 +327,8 @@
     % Extracts the TypeInfo for the Indexth unconstrained type variable
     % from the instance represented by TypeClassInfo.
     %
-:- pred unconstrained_type_info_from_typeclass_info(typeclass_info(_)::in,
-    int::in, type_info(_)::out) is det.
+:- pred unconstrained_type_info_from_typeclass_info(typeclass_info::in,
+    int::in, type_info::out) is det.
 :- pred zero_unconstrained_type_info_from_typeclass_info(
     zero_typeclass_info::in, int::in, zero_type_info::out) is det.
 
@@ -344,8 +337,8 @@
     % Extracts SuperClass from TypeClassInfo where SuperClass is the
     % Indexth superclass of the class.
     %
-:- pred superclass_from_typeclass_info(typeclass_info(_)::in,
-    int::in, typeclass_info(_)::out) is det.
+:- pred superclass_from_typeclass_info(typeclass_info::in,
+    int::in, typeclass_info::out) is det.
 :- pred zero_superclass_from_typeclass_info(zero_typeclass_info::in,
     int::in, zero_typeclass_info::out) is det.
 
@@ -358,8 +351,8 @@
     % Note: Index must be equal to the number of the desired constraint
     % plus the number of unconstrained type variables for this instance.
     %
-:- pred instance_constraint_from_typeclass_info(typeclass_info(_)::in,
-    int::in, typeclass_info(_)::out) is det.
+:- pred instance_constraint_from_typeclass_info(typeclass_info::in,
+    int::in, typeclass_info::out) is det.
 :- pred zero_instance_constraint_from_typeclass_info(zero_typeclass_info::in,
     int::in, zero_typeclass_info::out) is det.
 
Index: library/rtti_implementation.m
===================================================================
RCS file: /home/mercury/mercury1/repository/mercury/library/rtti_implementation.m,v
retrieving revision 1.57
diff -u -b -r1.57 rtti_implementation.m
--- library/rtti_implementation.m	12 Sep 2005 05:24:51 -0000	1.57
+++ library/rtti_implementation.m	19 Sep 2005 13:04:53 -0000
@@ -2112,9 +2112,9 @@
 typeclass_info_type_info(TypeClassInfo, Index) = unsafe_cast(TypeInfo) :-
 	private_builtin__type_info_from_typeclass_info(
 		unsafe_cast(TypeClassInfo)
-			`with_type` private_builtin__typeclass_info(int),
+			`with_type` private_builtin__typeclass_info,
 		Index, TypeInfo
-			`with_type` private_builtin__type_info(int)).
+			`with_type` private_builtin__type_info).
 
 %-----------------------------------------------------------------------------%
 %-----------------------------------------------------------------------------%
Index: library/string.m
===================================================================
RCS file: /home/mercury/mercury1/repository/mercury/library/string.m,v
retrieving revision 1.238
diff -u -b -r1.238 string.m
--- library/string.m	19 Sep 2005 04:29:00 -0000	1.238
+++ library/string.m	19 Sep 2005 13:02:51 -0000
@@ -4265,7 +4265,7 @@
 
 same_array_elem_type(_, _).
 
-:- pred same_private_builtin_type(private_builtin__type_info(T)::unused,
+:- pred same_private_builtin_type(private_builtin__type_info::unused,
     T::unused) is det.
 
 same_private_builtin_type(_, _).
@@ -4530,8 +4530,7 @@
     add_revstring(String, !Rs).
 
 :- pred private_builtin_type_info_to_revstrings(
-    private_builtin__type_info(T)::in, revstrings::in, revstrings::out)
-    is det.
+    private_builtin__type_info::in, revstrings::in, revstrings::out) is det.
 
 private_builtin_type_info_to_revstrings(PrivateBuiltinTypeInfo, !Rs) :-
     TypeDesc = rtti_implementation__unsafe_cast(PrivateBuiltinTypeInfo),
Index: library/table_builtin.m
===================================================================
RCS file: /home/mercury/mercury1/repository/mercury/library/table_builtin.m,v
retrieving revision 1.47
diff -u -b -r1.47 table_builtin.m
--- library/table_builtin.m	16 Jun 2005 04:08:06 -0000	1.47
+++ library/table_builtin.m	19 Sep 2005 13:03:43 -0000
@@ -1297,12 +1297,12 @@
 	% Lookup or insert a type_info in the given trie.
 	%
 :- impure pred table_lookup_insert_typeinfo(ml_trie_node::in,
-	private_builtin.type_info(T)::in, ml_trie_node::out) is det.
+	private_builtin.type_info::in, ml_trie_node::out) is det.
 
 	% Lookup or insert a typeclass_info in the given trie.
 	%
 :- impure pred table_lookup_insert_typeclassinfo(ml_trie_node::in,
-	private_builtin.typeclass_info(T)::in, ml_trie_node::out) is det.
+	private_builtin.typeclass_info::in, ml_trie_node::out) is det.
 
 	% Save an integer answer in the given answer block at the given
 	% offset.
cvs diff: Diffing mdbcomp
cvs diff: Diffing profiler
cvs diff: Diffing robdd
cvs diff: Diffing runtime
Index: runtime/mercury_builtin_types.c
===================================================================
RCS file: /home/mercury/mercury1/repository/mercury/runtime/mercury_builtin_types.c,v
retrieving revision 1.14
diff -u -b -r1.14 mercury_builtin_types.c
--- runtime/mercury_builtin_types.c	19 Sep 2005 07:26:33 -0000	1.14
+++ runtime/mercury_builtin_types.c	19 Sep 2005 12:48:58 -0000
@@ -73,14 +73,14 @@
 MR_DEFINE_TYPE_CTOR_INFO(private_builtin, heap_pointer, 0, HP);
 MR_DEFINE_TYPE_CTOR_INFO(private_builtin, ref, 1, REFERENCE);
 
-MR_DEFINE_TYPE_CTOR_INFO_FLAG(private_builtin, type_ctor_info, 1,
-	TYPECTORINFO, MR_TYPE_CTOR_FLAG_TYPEINFO_FAKE_ARITY);
-MR_DEFINE_TYPE_CTOR_INFO_FLAG(private_builtin, type_info, 1,
-	TYPEINFO, MR_TYPE_CTOR_FLAG_TYPEINFO_FAKE_ARITY);
-MR_DEFINE_TYPE_CTOR_INFO_FLAG(private_builtin, base_typeclass_info, 1,
-	BASETYPECLASSINFO, MR_TYPE_CTOR_FLAG_TYPEINFO_FAKE_ARITY);
-MR_DEFINE_TYPE_CTOR_INFO_FLAG(private_builtin, typeclass_info, 1,
-	TYPECLASSINFO, MR_TYPE_CTOR_FLAG_TYPEINFO_FAKE_ARITY);
+MR_DEFINE_TYPE_CTOR_INFO(private_builtin, type_ctor_info, 0,
+	TYPECTORINFO);
+MR_DEFINE_TYPE_CTOR_INFO(private_builtin, type_info, 0,
+	TYPEINFO);
+MR_DEFINE_TYPE_CTOR_INFO(private_builtin, base_typeclass_info, 0,
+	BASETYPECLASSINFO);
+MR_DEFINE_TYPE_CTOR_INFO(private_builtin, typeclass_info, 0,
+	TYPECLASSINFO);
 
 MR_DEFINE_TYPE_CTOR_INFO(private_builtin, zero_type_ctor_info, 0,
 	TYPECTORINFO);
@@ -221,8 +221,7 @@
 }
 
 MR_bool MR_CALL
-mercury__private_builtin____Unify____type_ctor_info_1_0(
-	MR_Mercury_Type_Info type_info,
+mercury__private_builtin____Unify____type_ctor_info_0_0(
 	MR_Mercury_Type_Ctor_Info x, MR_Mercury_Type_Ctor_Info y)
 {
 	return MR_unify_type_ctor_info((MR_TypeCtorInfo) x,
@@ -230,16 +229,14 @@
 }
 
 MR_bool MR_CALL
-mercury__private_builtin____Unify____type_info_1_0(
-	MR_Mercury_Type_Info type_info,
+mercury__private_builtin____Unify____type_info_0_0(
 	MR_Mercury_Type_Info x, MR_Mercury_Type_Info y)
 {
 	return MR_unify_type_info((MR_TypeInfo) x, (MR_TypeInfo) y);
 }
 
 MR_bool MR_CALL
-mercury__private_builtin____Unify____typeclass_info_1_0(
-	MR_Mercury_Type_Info type_info,
+mercury__private_builtin____Unify____typeclass_info_0_0(
 	MR_Mercury_TypeClass_Info x, MR_Mercury_TypeClass_Info y)
 {
 	MR_fatal_error("called unify/2 for `typeclass_info' type");
@@ -248,8 +245,7 @@
 }
 
 MR_bool MR_CALL
-mercury__private_builtin____Unify____base_typeclass_info_1_0(
-	MR_Mercury_Type_Info type_info,
+mercury__private_builtin____Unify____base_typeclass_info_0_0(
 	MR_Mercury_Base_TypeClass_Info x, MR_Mercury_Base_TypeClass_Info y)
 {
 	MR_SORRY("unify for base_typeclass_info");
@@ -415,8 +411,8 @@
 }
 
 void MR_CALL
-mercury__private_builtin____Compare____type_ctor_info_1_0(
-	MR_Mercury_Type_Info type_info, MR_Comparison_Result *result,
+mercury__private_builtin____Compare____type_ctor_info_0_0(
+	MR_Comparison_Result *result,
 	MR_Mercury_Type_Ctor_Info x, MR_Mercury_Type_Ctor_Info y)
 {
 	*result = MR_compare_type_ctor_info((MR_TypeCtorInfo) x,
@@ -424,24 +420,24 @@
 }
 
 void MR_CALL
-mercury__private_builtin____Compare____type_info_1_0(
-	MR_Mercury_Type_Info type_info, MR_Comparison_Result *result,
+mercury__private_builtin____Compare____type_info_0_0(
+	MR_Comparison_Result *result,
 	MR_Mercury_Type_Info x, MR_Mercury_Type_Info y)
 {
 	*result = MR_compare_type_info((MR_TypeInfo) x, (MR_TypeInfo) y);
 }
 
 void MR_CALL
-mercury__private_builtin____Compare____typeclass_info_1_0(
-	MR_Mercury_Type_Info type_info, MR_Comparison_Result *result,
+mercury__private_builtin____Compare____typeclass_info_0_0(
+	MR_Comparison_Result *result,
 	MR_Mercury_TypeClass_Info x, MR_Mercury_TypeClass_Info y)
 {
 	MR_fatal_error("called compare/3 for `typeclass_info' type");
 }
 
 void MR_CALL
-mercury__private_builtin____Compare____base_typeclass_info_1_0(
-	MR_Mercury_Type_Info type_info, MR_Comparison_Result *result,
+mercury__private_builtin____Compare____base_typeclass_info_0_0(
+	MR_Comparison_Result *result,
 	MR_Mercury_Base_TypeClass_Info x, MR_Mercury_Base_TypeClass_Info y)
 {
 	MR_SORRY("compare for base_typeclass_info");
@@ -590,35 +586,34 @@
 }
 
 MR_bool MR_CALL
-mercury__private_builtin__do_unify__type_ctor_info_1_0(
-	MR_Mercury_Type_Info type_info, MR_Box x, MR_Box y)
+mercury__private_builtin__do_unify__type_ctor_info_0_0(
+	MR_Box x, MR_Box y)
 {
-	return mercury__private_builtin____Unify____type_ctor_info_1_0(
-		type_info, (MR_Mercury_Type_Ctor_Info) x, (MR_Mercury_Type_Ctor_Info) y);
+	return mercury__private_builtin____Unify____type_ctor_info_0_0(
+		(MR_Mercury_Type_Ctor_Info) x, (MR_Mercury_Type_Ctor_Info) y);
 }
 
 MR_bool MR_CALL
-mercury__private_builtin__do_unify__type_info_1_0(
-	MR_Mercury_Type_Info type_info, MR_Box x, MR_Box y)
+mercury__private_builtin__do_unify__type_info_0_0(
+	MR_Box x, MR_Box y)
 {
-	return mercury__private_builtin____Unify____type_info_1_0(
-		type_info, (MR_Mercury_Type_Info) x, (MR_Mercury_Type_Info) y);
+	return mercury__private_builtin____Unify____type_info_0_0(
+		(MR_Mercury_Type_Info) x, (MR_Mercury_Type_Info) y);
 }
 
 MR_bool MR_CALL
-mercury__private_builtin__do_unify__typeclass_info_1_0(
-	MR_Mercury_Type_Info type_info, MR_Box x, MR_Box y)
+mercury__private_builtin__do_unify__typeclass_info_0_0(
+	MR_Box x, MR_Box y)
 {
-	return mercury__private_builtin____Unify____typeclass_info_1_0(
-		type_info, (MR_Mercury_TypeClass_Info) x, (MR_Mercury_TypeClass_Info) y);
+	return mercury__private_builtin____Unify____typeclass_info_0_0(
+		(MR_Mercury_TypeClass_Info) x, (MR_Mercury_TypeClass_Info) y);
 }
 
 MR_bool MR_CALL
-mercury__private_builtin__do_unify__base_typeclass_info_1_0(
-	MR_Mercury_Type_Info type_info, MR_Box x, MR_Box y)
+mercury__private_builtin__do_unify__base_typeclass_info_0_0(
+	MR_Box x, MR_Box y)
 {
-	return mercury__private_builtin____Unify____base_typeclass_info_1_0(
-		type_info,
+	return mercury__private_builtin____Unify____base_typeclass_info_0_0(
 		(MR_Mercury_Base_TypeClass_Info) x,
 		(MR_Mercury_Base_TypeClass_Info) y);
 }
@@ -773,41 +768,34 @@
 }
 
 void MR_CALL
-mercury__private_builtin__do_compare__type_ctor_info_1_0(
-	MR_Mercury_Type_Info type_info, MR_Comparison_Result *result,
-	MR_Box x, MR_Box y)
+mercury__private_builtin__do_compare__type_ctor_info_0_0(
+	MR_Comparison_Result *result, MR_Box x, MR_Box y)
 {
-	mercury__private_builtin____Compare____type_ctor_info_1_0(
-		type_info, result,
+	mercury__private_builtin____Compare____type_ctor_info_0_0(result,
 		(MR_Mercury_Type_Ctor_Info) x, (MR_Mercury_Type_Ctor_Info) y);
 }
 
 void MR_CALL
-mercury__private_builtin__do_compare__type_info_1_0(
-	MR_Mercury_Type_Info type_info, MR_Comparison_Result *result,
-	MR_Box x, MR_Box y)
+mercury__private_builtin__do_compare__type_info_0_0(
+	MR_Comparison_Result *result, MR_Box x, MR_Box y)
 {
-	mercury__private_builtin____Compare____type_info_1_0(
-		type_info, result, (MR_Mercury_Type_Info) x, (MR_Mercury_Type_Info) y);
+	mercury__private_builtin____Compare____type_info_0_0(
+		result, (MR_Mercury_Type_Info) x, (MR_Mercury_Type_Info) y);
 }
 
 void MR_CALL
-mercury__private_builtin__do_compare__typeclass_info_1_0(
-	MR_Mercury_Type_Info type_info, MR_Comparison_Result *result,
-	MR_Box x, MR_Box y)
+mercury__private_builtin__do_compare__typeclass_info_0_0(
+	MR_Comparison_Result *result, MR_Box x, MR_Box y)
 {
-	mercury__private_builtin____Compare____typeclass_info_1_0(
-		type_info, result,
+	mercury__private_builtin____Compare____typeclass_info_0_0(result,
 		(MR_Mercury_TypeClass_Info) x, (MR_Mercury_TypeClass_Info) y);
 }
 
 void MR_CALL
-mercury__private_builtin__do_compare__base_typeclass_info_1_0(
-	MR_Mercury_Type_Info type_info, MR_Comparison_Result *result,
-	MR_Box x, MR_Box y)
+mercury__private_builtin__do_compare__base_typeclass_info_0_0(
+	MR_Comparison_Result *result, MR_Box x, MR_Box y)
 {
-	mercury__private_builtin____Compare____base_typeclass_info_1_0(
-		type_info, result,
+	mercury__private_builtin____Compare____base_typeclass_info_0_0(result,
 		(MR_Mercury_Base_TypeClass_Info) x,
 		(MR_Mercury_Base_TypeClass_Info) y);
 }
@@ -918,10 +906,10 @@
 MR_UNIFY_COMPARE_REP_DECLS(builtin, ticket, 0)
 MR_UNIFY_COMPARE_REP_DECLS(private_builtin, heap_pointer, 0)
 MR_UNIFY_COMPARE_REP_DECLS(private_builtin, ref, 1)
-MR_UNIFY_COMPARE_REP_DECLS(private_builtin, type_ctor_info, 1)
-MR_UNIFY_COMPARE_REP_DECLS(private_builtin, type_info, 1)
-MR_UNIFY_COMPARE_REP_DECLS(private_builtin, base_typeclass_info, 1)
-MR_UNIFY_COMPARE_REP_DECLS(private_builtin, typeclass_info, 1)
+MR_UNIFY_COMPARE_REP_DECLS(private_builtin, type_ctor_info, 0)
+MR_UNIFY_COMPARE_REP_DECLS(private_builtin, type_info, 0)
+MR_UNIFY_COMPARE_REP_DECLS(private_builtin, base_typeclass_info, 0)
+MR_UNIFY_COMPARE_REP_DECLS(private_builtin, typeclass_info, 0)
 MR_UNIFY_COMPARE_REP_DECLS(private_builtin, zero_type_ctor_info, 0)
 MR_UNIFY_COMPARE_REP_DECLS(private_builtin, zero_type_info, 0)
 MR_UNIFY_COMPARE_REP_DECLS(private_builtin, zero_base_typeclass_info, 0)
@@ -950,10 +938,10 @@
 MR_UNIFY_COMPARE_REP_DEFNS(builtin, ticket, 0)
 MR_UNIFY_COMPARE_REP_DEFNS(private_builtin, heap_pointer, 0)
 MR_UNIFY_COMPARE_REP_DEFNS(private_builtin, ref, 1)
-MR_UNIFY_COMPARE_REP_DEFNS(private_builtin, type_ctor_info, 1)
-MR_UNIFY_COMPARE_REP_DEFNS(private_builtin, type_info, 1)
-MR_UNIFY_COMPARE_REP_DEFNS(private_builtin, base_typeclass_info, 1)
-MR_UNIFY_COMPARE_REP_DEFNS(private_builtin, typeclass_info, 1)
+MR_UNIFY_COMPARE_REP_DEFNS(private_builtin, type_ctor_info, 0)
+MR_UNIFY_COMPARE_REP_DEFNS(private_builtin, type_info, 0)
+MR_UNIFY_COMPARE_REP_DEFNS(private_builtin, base_typeclass_info, 0)
+MR_UNIFY_COMPARE_REP_DEFNS(private_builtin, typeclass_info, 0)
 MR_UNIFY_COMPARE_REP_DEFNS(private_builtin, zero_type_ctor_info, 0)
 MR_UNIFY_COMPARE_REP_DEFNS(private_builtin, zero_type_info, 0)
 MR_UNIFY_COMPARE_REP_DEFNS(private_builtin, zero_base_typeclass_info, 0)
@@ -1029,10 +1017,10 @@
 MR_DEFINE_PROC_STATIC_LAYOUTS(builtin, ticket, 0);
 MR_DEFINE_PROC_STATIC_LAYOUTS(private_builtin, heap_pointer, 0);
 MR_DEFINE_PROC_STATIC_LAYOUTS(private_builtin, ref, 1);
-MR_DEFINE_PROC_STATIC_LAYOUTS(private_builtin, type_ctor_info, 1);
-MR_DEFINE_PROC_STATIC_LAYOUTS(private_builtin, type_info, 1);
-MR_DEFINE_PROC_STATIC_LAYOUTS(private_builtin, base_typeclass_info, 1);
-MR_DEFINE_PROC_STATIC_LAYOUTS(private_builtin, typeclass_info, 1);
+MR_DEFINE_PROC_STATIC_LAYOUTS(private_builtin, type_ctor_info, 0);
+MR_DEFINE_PROC_STATIC_LAYOUTS(private_builtin, type_info, 0);
+MR_DEFINE_PROC_STATIC_LAYOUTS(private_builtin, base_typeclass_info, 0);
+MR_DEFINE_PROC_STATIC_LAYOUTS(private_builtin, typeclass_info, 0);
 MR_DEFINE_PROC_STATIC_LAYOUTS(private_builtin, zero_type_ctor_info, 0);
 MR_DEFINE_PROC_STATIC_LAYOUTS(private_builtin, zero_type_info, 0);
 MR_DEFINE_PROC_STATIC_LAYOUTS(private_builtin, zero_base_typeclass_info, 0);
@@ -1064,10 +1052,10 @@
 	MR_UNIFY_COMPARE_REP_LABELS(builtin, ticket, 0)
 	MR_UNIFY_COMPARE_REP_LABELS(private_builtin, heap_pointer, 0)
 	MR_UNIFY_COMPARE_REP_LABELS(private_builtin, ref, 1)
-	MR_UNIFY_COMPARE_REP_LABELS(private_builtin, type_ctor_info, 1)
-	MR_UNIFY_COMPARE_REP_LABELS(private_builtin, type_info, 1)
-	MR_UNIFY_COMPARE_REP_LABELS(private_builtin, base_typeclass_info, 1)
-	MR_UNIFY_COMPARE_REP_LABELS(private_builtin, typeclass_info, 1)
+	MR_UNIFY_COMPARE_REP_LABELS(private_builtin, type_ctor_info, 0)
+	MR_UNIFY_COMPARE_REP_LABELS(private_builtin, type_info, 0)
+	MR_UNIFY_COMPARE_REP_LABELS(private_builtin, base_typeclass_info, 0)
+	MR_UNIFY_COMPARE_REP_LABELS(private_builtin, typeclass_info, 0)
 	MR_UNIFY_COMPARE_REP_LABELS(private_builtin, zero_type_ctor_info, 0)
 	MR_UNIFY_COMPARE_REP_LABELS(private_builtin, zero_type_info, 0)
 	MR_UNIFY_COMPARE_REP_LABELS(private_builtin, zero_base_typeclass_info, 0)
@@ -1476,7 +1464,7 @@
 
 #define	module		private_builtin
 #define	type		type_ctor_info
-#define	arity		1
+#define	arity		0
 #define	unify_code	int	comp;					\
 									\
 			MR_save_transient_registers();			\
@@ -1511,7 +1499,7 @@
 
 #define	module		private_builtin
 #define	type		type_info
-#define	arity		1
+#define	arity		0
 #define	unify_code	int	comp;					\
 									\
 			MR_save_transient_registers();			\
@@ -1546,7 +1534,7 @@
 
 #define	module		private_builtin
 #define	type		base_typeclass_info
-#define	arity		1
+#define	arity		0
 #define	unify_code	MR_fatal_error("called unify/2 for `base_typeclass_info' type");
 #define	compare_code	MR_fatal_error("called compare/3 for `base_typeclass_info' type");
 
@@ -1567,7 +1555,7 @@
 
 #define	module		private_builtin
 #define	type		typeclass_info
-#define	arity		1
+#define	arity		0
 #define	unify_code	MR_fatal_error("called unify/2 for `base_typeclass_info' type");
 #define	compare_code	MR_fatal_error("called compare/3 for `base_typeclass_info' type");
 
@@ -1902,10 +1890,10 @@
 #endif
 	MR_INIT_TYPE_CTOR_INFO_MNA(private_builtin, heap_pointer, 0);
 	MR_INIT_TYPE_CTOR_INFO_MNA(private_builtin, ref, 1);
-	MR_INIT_TYPE_CTOR_INFO_MNA(private_builtin, type_ctor_info, 1);
-	MR_INIT_TYPE_CTOR_INFO_MNA(private_builtin, type_info, 1);
-	MR_INIT_TYPE_CTOR_INFO_MNA(private_builtin, base_typeclass_info, 1);
-	MR_INIT_TYPE_CTOR_INFO_MNA(private_builtin, typeclass_info, 1);
+	MR_INIT_TYPE_CTOR_INFO_MNA(private_builtin, type_ctor_info, 0);
+	MR_INIT_TYPE_CTOR_INFO_MNA(private_builtin, type_info, 0);
+	MR_INIT_TYPE_CTOR_INFO_MNA(private_builtin, base_typeclass_info, 0);
+	MR_INIT_TYPE_CTOR_INFO_MNA(private_builtin, typeclass_info, 0);
 	MR_INIT_TYPE_CTOR_INFO_MNA(private_builtin, zero_type_ctor_info, 0);
 	MR_INIT_TYPE_CTOR_INFO_MNA(private_builtin, zero_type_info, 0);
 	MR_INIT_TYPE_CTOR_INFO_MNA(private_builtin, zero_base_typeclass_info, 0);
@@ -1939,10 +1927,10 @@
 #endif
 	MR_REGISTER_TYPE_CTOR_INFO(private_builtin, heap_pointer, 0);
 	MR_REGISTER_TYPE_CTOR_INFO(private_builtin, ref, 1);
-	MR_REGISTER_TYPE_CTOR_INFO(private_builtin, type_ctor_info, 1);
-	MR_REGISTER_TYPE_CTOR_INFO(private_builtin, type_info, 1);
-	MR_REGISTER_TYPE_CTOR_INFO(private_builtin, base_typeclass_info, 1);
-	MR_REGISTER_TYPE_CTOR_INFO(private_builtin, typeclass_info, 1);
+	MR_REGISTER_TYPE_CTOR_INFO(private_builtin, type_ctor_info, 0);
+	MR_REGISTER_TYPE_CTOR_INFO(private_builtin, type_info, 0);
+	MR_REGISTER_TYPE_CTOR_INFO(private_builtin, base_typeclass_info, 0);
+	MR_REGISTER_TYPE_CTOR_INFO(private_builtin, typeclass_info, 0);
 	MR_REGISTER_TYPE_CTOR_INFO(private_builtin, zero_type_ctor_info, 0);
 	MR_REGISTER_TYPE_CTOR_INFO(private_builtin, zero_type_info, 0);
 	MR_REGISTER_TYPE_CTOR_INFO(private_builtin, zero_base_typeclass_info, 0);
@@ -1976,13 +1964,13 @@
 	MR_WRITE_OUT_PROC_STATIC_LAYOUTS(fp, private_builtin, heap_pointer, 0);
 	MR_WRITE_OUT_PROC_STATIC_LAYOUTS(fp, private_builtin, ref, 1);
 	MR_WRITE_OUT_PROC_STATIC_LAYOUTS(fp, private_builtin,
-		type_ctor_info, 1);
+		type_ctor_info, 0);
 	MR_WRITE_OUT_PROC_STATIC_LAYOUTS(fp, private_builtin,
-		type_info, 1);
+		type_info, 0);
 	MR_WRITE_OUT_PROC_STATIC_LAYOUTS(fp, private_builtin,
-		base_typeclass_info, 1);
+		base_typeclass_info, 0);
 	MR_WRITE_OUT_PROC_STATIC_LAYOUTS(fp, private_builtin,
-		typeclass_info, 1);
+		typeclass_info, 0);
 	MR_WRITE_OUT_PROC_STATIC_LAYOUTS(fp, private_builtin,
 		zero_type_ctor_info, 0);
 	MR_WRITE_OUT_PROC_STATIC_LAYOUTS(fp, private_builtin,
Index: runtime/mercury_builtin_types.h
===================================================================
RCS file: /home/mercury/mercury1/repository/mercury/runtime/mercury_builtin_types.h,v
retrieving revision 1.7
diff -u -b -r1.7 mercury_builtin_types.h
--- runtime/mercury_builtin_types.h	19 Sep 2005 07:26:33 -0000	1.7
+++ runtime/mercury_builtin_types.h	19 Sep 2005 12:39:00 -0000
@@ -47,13 +47,13 @@
 MR_DECLARE_TYPE_CTOR_INFO_STRUCT(
 	MR_TYPE_CTOR_INFO_NAME(private_builtin, ref, 1));
 MR_DECLARE_TYPE_CTOR_INFO_STRUCT(
-	MR_TYPE_CTOR_INFO_NAME(private_builtin, type_ctor_info, 1));
+	MR_TYPE_CTOR_INFO_NAME(private_builtin, type_ctor_info, 0));
 MR_DECLARE_TYPE_CTOR_INFO_STRUCT(
-	MR_TYPE_CTOR_INFO_NAME(private_builtin, type_info, 1));
+	MR_TYPE_CTOR_INFO_NAME(private_builtin, type_info, 0));
 MR_DECLARE_TYPE_CTOR_INFO_STRUCT(
-	MR_TYPE_CTOR_INFO_NAME(private_builtin, typeclass_info, 1));
+	MR_TYPE_CTOR_INFO_NAME(private_builtin, typeclass_info, 0));
 MR_DECLARE_TYPE_CTOR_INFO_STRUCT(
-	MR_TYPE_CTOR_INFO_NAME(private_builtin, base_typeclass_info, 1));
+	MR_TYPE_CTOR_INFO_NAME(private_builtin, base_typeclass_info, 0));
 MR_DECLARE_TYPE_CTOR_INFO_STRUCT(
 	MR_TYPE_CTOR_INFO_NAME(private_builtin, zero_type_ctor_info, 0));
 MR_DECLARE_TYPE_CTOR_INFO_STRUCT(
@@ -100,18 +100,14 @@
 	MR_Pseudo_Type_Desc x, MR_Pseudo_Type_Desc y); 
 MR_bool MR_CALL mercury__type_desc____Unify____type_desc_0_0(
 	MR_Type_Desc x, MR_Type_Desc y); 
-MR_bool MR_CALL mercury__private_builtin____Unify____type_ctor_info_1_0(
-	MR_Mercury_Type_Info type_info,
+MR_bool MR_CALL mercury__private_builtin____Unify____type_ctor_info_0_0(
 	MR_Mercury_Type_Ctor_Info x, MR_Mercury_Type_Ctor_Info y); 
-MR_bool MR_CALL mercury__private_builtin____Unify____type_info_1_0(
-	MR_Mercury_Type_Info type_info,
+MR_bool MR_CALL mercury__private_builtin____Unify____type_info_0_0(
 	MR_Mercury_Type_Info x, MR_Mercury_Type_Info y); 
-MR_bool MR_CALL mercury__private_builtin____Unify____typeclass_info_1_0(
-	MR_Mercury_Type_Info type_info,
+MR_bool MR_CALL mercury__private_builtin____Unify____typeclass_info_0_0(
 	MR_Mercury_TypeClass_Info x, MR_Mercury_TypeClass_Info y); 
-MR_bool MR_CALL mercury__private_builtin____Unify____base_typeclass_info_1_0(
-	MR_Mercury_Type_Info type_info, MR_Mercury_Base_TypeClass_Info x,
-	MR_Mercury_Base_TypeClass_Info y); 
+MR_bool MR_CALL mercury__private_builtin____Unify____base_typeclass_info_0_0(
+	MR_Mercury_Base_TypeClass_Info x, MR_Mercury_Base_TypeClass_Info y); 
 MR_bool MR_CALL mercury__private_builtin____Unify____zero_type_ctor_info_0_0(
 	MR_Mercury_Type_Ctor_Info x, MR_Mercury_Type_Ctor_Info y); 
 MR_bool MR_CALL mercury__private_builtin____Unify____zero_type_info_0_0(
@@ -152,17 +148,17 @@
 	MR_Pseudo_Type_Desc x, MR_Pseudo_Type_Desc y);
 void MR_CALL mercury__type_desc____Compare____type_desc_0_0(
 	MR_Comparison_Result *result, MR_Type_Desc x, MR_Type_Desc y);
-void MR_CALL mercury__private_builtin____Compare____type_ctor_info_1_0(
-	MR_Mercury_Type_Info type_info, MR_Comparison_Result *result,
+void MR_CALL mercury__private_builtin____Compare____type_ctor_info_0_0(
+	MR_Comparison_Result *result,
 	MR_Mercury_Type_Ctor_Info x, MR_Mercury_Type_Ctor_Info y);
-void MR_CALL mercury__private_builtin____Compare____type_info_1_0(
-	MR_Mercury_Type_Info type_info, MR_Comparison_Result *result,
+void MR_CALL mercury__private_builtin____Compare____type_info_0_0(
+	MR_Comparison_Result *result,
 	MR_Mercury_Type_Info x, MR_Mercury_Type_Info y);
-void MR_CALL mercury__private_builtin____Compare____typeclass_info_1_0(
-	MR_Mercury_Type_Info type_info, MR_Comparison_Result *result,
+void MR_CALL mercury__private_builtin____Compare____typeclass_info_0_0(
+	MR_Comparison_Result *result,
 	MR_Mercury_TypeClass_Info x, MR_Mercury_TypeClass_Info y);
-void MR_CALL mercury__private_builtin____Compare____base_typeclass_info_1_0(
-	MR_Mercury_Type_Info type_info, MR_Comparison_Result *result,
+void MR_CALL mercury__private_builtin____Compare____base_typeclass_info_0_0(
+	MR_Comparison_Result *result,
 	MR_Mercury_Base_TypeClass_Info x, MR_Mercury_Base_TypeClass_Info y);
 void MR_CALL mercury__private_builtin____Compare____zero_type_ctor_info_0_0(
 	MR_Comparison_Result *result,
cvs diff: Diffing runtime/GETOPT
cvs diff: Diffing runtime/machdeps
cvs diff: Diffing samples
cvs diff: Diffing samples/c_interface
cvs diff: Diffing samples/c_interface/c_calls_mercury
cvs diff: Diffing samples/c_interface/cplusplus_calls_mercury
cvs diff: Diffing samples/c_interface/mercury_calls_c
cvs diff: Diffing samples/c_interface/mercury_calls_cplusplus
cvs diff: Diffing samples/c_interface/mercury_calls_fortran
cvs diff: Diffing samples/c_interface/simpler_c_calls_mercury
cvs diff: Diffing samples/c_interface/simpler_cplusplus_calls_mercury
cvs diff: Diffing samples/diff
cvs diff: Diffing samples/muz
cvs diff: Diffing samples/rot13
cvs diff: Diffing samples/solutions
cvs diff: Diffing samples/tests
cvs diff: Diffing samples/tests/c_interface
cvs diff: Diffing samples/tests/c_interface/c_calls_mercury
cvs diff: Diffing samples/tests/c_interface/cplusplus_calls_mercury
cvs diff: Diffing samples/tests/c_interface/mercury_calls_c
cvs diff: Diffing samples/tests/c_interface/mercury_calls_cplusplus
cvs diff: Diffing samples/tests/c_interface/mercury_calls_fortran
cvs diff: Diffing samples/tests/c_interface/simpler_c_calls_mercury
cvs diff: Diffing samples/tests/c_interface/simpler_cplusplus_calls_mercury
cvs diff: Diffing samples/tests/diff
cvs diff: Diffing samples/tests/muz
cvs diff: Diffing samples/tests/rot13
cvs diff: Diffing samples/tests/solutions
cvs diff: Diffing samples/tests/toplevel
cvs diff: Diffing scripts
cvs diff: Diffing slice
cvs diff: Diffing tests
cvs diff: Diffing tests/benchmarks
cvs diff: Diffing tests/debugger
cvs diff: Diffing tests/debugger/declarative
cvs diff: Diffing tests/dppd
cvs diff: Diffing tests/general
cvs diff: Diffing tests/general/accumulator
cvs diff: Diffing tests/general/string_format
cvs diff: Diffing tests/general/structure_reuse
cvs diff: Diffing tests/grade_subdirs
cvs diff: Diffing tests/hard_coded
cvs diff: Diffing tests/hard_coded/exceptions
cvs diff: Diffing tests/hard_coded/purity
cvs diff: Diffing tests/hard_coded/sub-modules
cvs diff: Diffing tests/hard_coded/typeclasses
cvs diff: Diffing tests/invalid
cvs diff: Diffing tests/invalid/purity
cvs diff: Diffing tests/misc_tests
cvs diff: Diffing tests/mmc_make
cvs diff: Diffing tests/mmc_make/lib
cvs diff: Diffing tests/recompilation
cvs diff: Diffing tests/tabling
cvs diff: Diffing tests/term
cvs diff: Diffing tests/valid
cvs diff: Diffing tests/warnings
cvs diff: Diffing tools
cvs diff: Diffing trace
Index: trace/mercury_trace_vars.c
===================================================================
RCS file: /home/mercury/mercury1/repository/mercury/trace/mercury_trace_vars.c,v
retrieving revision 1.65
diff -u -b -r1.65 mercury_trace_vars.c
--- trace/mercury_trace_vars.c	19 Sep 2005 07:26:36 -0000	1.65
+++ trace/mercury_trace_vars.c	19 Sep 2005 13:27:43 -0000
@@ -163,13 +163,13 @@
 */
 
 extern const struct MR_TypeCtorInfo_Struct
-  MR_TYPE_CTOR_INFO_NAME(private_builtin, type_info, 1);
+  MR_TYPE_CTOR_INFO_NAME(private_builtin, type_info, 0);
 extern const struct MR_TypeCtorInfo_Struct
-  MR_TYPE_CTOR_INFO_NAME(private_builtin, type_ctor_info, 1);
+  MR_TYPE_CTOR_INFO_NAME(private_builtin, type_ctor_info, 0);
 extern const struct MR_TypeCtorInfo_Struct
-  MR_TYPE_CTOR_INFO_NAME(private_builtin, typeclass_info, 1);
+  MR_TYPE_CTOR_INFO_NAME(private_builtin, typeclass_info, 0);
 extern const struct MR_TypeCtorInfo_Struct
-  MR_TYPE_CTOR_INFO_NAME(private_builtin, base_typeclass_info, 1);
+  MR_TYPE_CTOR_INFO_NAME(private_builtin, base_typeclass_info, 0);
 extern const struct MR_TypeCtorInfo_Struct
   MR_TYPE_CTOR_INFO_NAME(private_builtin, zero_type_info, 0);
 extern const struct MR_TypeCtorInfo_Struct
@@ -213,8 +213,8 @@
 {
     /* we ignore these until the browser can handle their varying arity, */
     /* or their definitions are updated. XXX */
-    &MR_TYPE_CTOR_INFO_NAME(private_builtin, typeclass_info, 1),
-    &MR_TYPE_CTOR_INFO_NAME(private_builtin, base_typeclass_info, 1),
+    &MR_TYPE_CTOR_INFO_NAME(private_builtin, typeclass_info, 0),
+    &MR_TYPE_CTOR_INFO_NAME(private_builtin, base_typeclass_info, 0),
     &MR_TYPE_CTOR_INFO_NAME(private_builtin, zero_typeclass_info, 0),
     &MR_TYPE_CTOR_INFO_NAME(private_builtin, zero_base_typeclass_info, 0),
 
@@ -241,8 +241,8 @@
     ** We can print values of these types (after a fashion),
     ** but users are usually not interested in their values.
     */
-    &MR_TYPE_CTOR_INFO_NAME(private_builtin, type_info, 1),
-    &MR_TYPE_CTOR_INFO_NAME(private_builtin, type_ctor_info, 1),
+    &MR_TYPE_CTOR_INFO_NAME(private_builtin, type_info, 0),
+    &MR_TYPE_CTOR_INFO_NAME(private_builtin, type_ctor_info, 0),
     &MR_TYPE_CTOR_INFO_NAME(private_builtin, zero_type_info, 0),
     &MR_TYPE_CTOR_INFO_NAME(private_builtin, zero_type_ctor_info, 0),
     /* dummy member */
cvs diff: Diffing util
cvs diff: Diffing vim
cvs diff: Diffing vim/after
cvs diff: Diffing vim/ftplugin
cvs diff: Diffing vim/syntax
--------------------------------------------------------------------------
mercury-reviews mailing list
post:  mercury-reviews at cs.mu.oz.au
administrative address: owner-mercury-reviews at cs.mu.oz.au
unsubscribe: Address: mercury-reviews-request at cs.mu.oz.au Message: unsubscribe
subscribe:   Address: mercury-reviews-request at cs.mu.oz.au Message: subscribe
--------------------------------------------------------------------------



More information about the reviews mailing list