mirror of
https://github.com/Mercury-Language/mercury.git
synced 2026-04-15 17:33:38 +00:00
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.
26 lines
1018 B
Mathematica
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.
|
|
%---------------------------------------------------------------------------%
|