Files
mercury/compiler/higher_order.m
Zoltan Somogyi 6d46aa9cde Carve two modules out of higher_order.specialize_calls.m.
compiler/higher_order.specialize_unify_compare.m:
    This new module contains the parts of higher_order.specialize_calls.m
    that replaces generic unify/compare operations with their type-specific
    versions.

compiler/higher_order.higher_order_info.m:
    This new module defines the higher_order_info type, which is now shared
    between higher_order.specialize_calls.m and
    higher_order.specialize_unify_compare.

    Make higher_order_info an abstract type, whose fields are accessed
    by getter/setter predicates.

compiler/higher_order.m:
    Include the new modules.

compiler/notes/compiler_design.html:
    Document the new modules.

compiler/higher_order.specialize_calls.m:
    Replace the moved code with import_module declarations.

    Replace a use of reversed lists with cords.
2024-03-01 03:09:34 +11:00

26 lines
1018 B
Mathematica

%---------------------------------------------------------------------------%
% vim: ft=mercury ts=4 sw=4 et
%---------------------------------------------------------------------------%
% Copyright (C) 1996-2012 The University of Melbourne.
% Copyright (C) 2014-2024 The Mercury team.
% This file may only be copied under the terms of the GNU General
% Public License - see the file COPYING in the Mercury distribution.
%---------------------------------------------------------------------------%
:- module transform_hlds.higher_order.
:- interface.
:- include_module specialize_in_module.
:- implementation.
:- include_module higher_order_global_info.
:- include_module higher_order_info.
:- include_module specialize_calls.
:- include_module specialize_unify_compare.
:- include_module make_specialized_preds.
%---------------------------------------------------------------------------%
:- end_module transform_hlds.higher_order.
%---------------------------------------------------------------------------%