Many papers that are relevant to understanding the Mercury implementation are written about the Mercury system itself, usually coauthored by a member of the Mercury team, and available on the papers page of the Mercury website, mercurylang.org. However, some are not. These are stored on machines that the Mercury project has no control over, and which may stop hosting those papers at any time. This has already happened at least once. This repository has copies of those papers to assure access to them to anyone working on Mercury.
This repository currently contains the following papers, each of which is relevant to the named module in the Mercury system.
library/diet.m: ehrig__diets_for_fat_sets.ps.gz friedman_lange__more_on_balanced_diets.pdf
library/pprint.m: wadler__a_prettier_printer.pdf
library/psqueue.m: hinze__a_simple_implementation_technique_for_priority_search_queues.pdf
compiler/analysis.m: nethercote__the_analysis_framework_of_hal.ps.gz
compiler/distance_granularity.m: shen_santos_costa_king__distance_a_new_metric_for_controlling_granularity_for_parallel_execution.pdf.gz
compiler/table_gen.m: sagonas__the_slg_wam_a_search_efficient_engine_for_well_founded_evaluation_of_normal_logic_programs.ps.gz
profiler/mercury_profile.m: graham_kessler_mckusick__gprof_a_call_graph_execution_profiler.pdf