Zoltan Somogyi 0b60f07c46 Cut over to the new code in file_names.m.
compiler/file_names.m:
    Delete the old code for doing filename translations, and use
    just the new code.

    Delete all the code that was needed only for comparing the old and
    new code.

    Delete the newext_other extension category, since it was also needed
    only for that purpose. Delete all the code that supported it.

    Switch the infrastructure for recording the demand for translations
    to work with the new code.

compiler/analysis.file.m:
    Delete functions that returned old-style extensions, which are
    not useful anymore. The new-style extensions, by identifying
    extensions via enums rather than strings, serve the purpose
    for which these functions were created.

compiler/mercury_compile_main.m:
    Move the code to call to write out the translation record
    from just after a call to real_main_after_expansion to the
    end of real_main_after_expansion. The reason is that the
    predicate being called now needs access to a globals structure,
    real_main_after_expansion has access to a globals structure,
    but its caller does not.

    Don't try to test the equivalence of the old and new algorithms
    for file name translation, since that test code has been deleted.

compiler/analysis.m:
compiler/compile_target_code.m:
compiler/du_type_layout.m:
compiler/export.m:
compiler/fact_table.m:
compiler/file_kind.m:
compiler/generate_dep_d_files.m:
compiler/grab_modules.m:
compiler/llds_out_file.m:
compiler/make.build.m:
compiler/make.module_dep_file.m:
compiler/make.module_target.m:
compiler/make.program_target.m:
compiler/make.track_flags.m:
compiler/make.util.m:
compiler/mercury_compile_front_end.m:
compiler/mercury_compile_llds_back_end.m:
compiler/mercury_compile_make_hlds.m:
compiler/mercury_compile_middle_passes.m:
compiler/mercury_compile_mlds_back_end.m:
compiler/mlds_to_c_file.m:
compiler/mlds_to_cs_file.m:
compiler/mlds_to_java_file.m:
compiler/mmc_analysis.m:
compiler/mode_constraints.m:
compiler/module_cmds.m:
compiler/prog_foreign.m:
compiler/read_modules.m:
compiler/recompilation.used_file.m:
compiler/write_deps_file.m:
compiler/write_module_interface_files.m:
compiler/xml_documentation.m:
    Conform to the changes in file_names.m.
2023-07-04 18:22:42 +02:00
2023-06-25 03:10:12 +10:00
2023-01-23 13:09:02 +11:00
2023-07-01 02:25:53 +10:00
2023-07-01 02:25:53 +10:00
2023-06-26 20:05:24 +10:00
2023-06-26 20:05:24 +10:00
2023-07-02 02:41:56 +10:00
2023-07-01 02:25:53 +10:00
2023-06-26 20:05:24 +10:00
2023-07-01 02:01:20 +10:00
2023-06-26 20:05:24 +10:00
2023-06-26 20:05:24 +10:00
2022-10-02 03:33:44 +11:00
2022-07-18 17:41:46 +10:00
2022-01-01 15:53:34 +11:00
2021-04-10 14:10:52 +10:00
2022-01-23 23:36:11 +11:00
2023-01-02 15:54:22 +11:00
2023-01-31 15:51:36 +11:00
2023-01-22 23:56:54 +11:00
2023-01-23 04:11:07 +11:00
2023-01-23 17:11:45 +11:00
2023-01-23 01:42:50 +11:00
2023-01-23 04:11:07 +11:00
2023-01-23 02:13:54 +11:00
2022-05-26 16:49:25 +10:00
2022-02-22 17:08:45 +11:00
2023-01-22 16:26:02 +11:00
2023-01-23 13:09:02 +11:00
2023-01-22 19:35:40 +11:00
2023-06-28 12:36:33 +02:00
2023-01-23 01:42:50 +11:00
2023-01-23 13:09:02 +11:00

Mercury

Mercury is a logic/functional programming language which combines the clarity and the expressiveness of declarative programming with advanced static analysis and error detection features.

More information is available on the website's about pages, in other README files in the source code repository, and in the documentation.

Small sample programs written in Mercury can be found in the samples and extras directories of the source code repository.

README files

The Mercury compiler has two different backends and works on different operating systems. Specific information is contained in individual README files:

Other information

See the current release notes for the latest stable release. The news file lists any recent changes. The history file is relevant if you want to find out more about the past development of Mercury. The limitations file lists some ways in which the Mercury implementation does not yet meet its goals.

Information for developers

If you are considering contributing to the Mercury project, the website contains some documents that may be helpful. These include a document about contributions in general and specific information about contributing such as coding styles.

Contact

See our contact page.

Description
No description provided
Readme MIT 145 MiB
Languages
Mercury 85.4%
C 8.7%
Shell 1.4%
Makefile 1%
JavaScript 1%
Other 2%