Julien Fischer ae94e32d46 Support 64-bit integers in static ground terms with the LLDS backend.
compiler/handle_options.m:
compiler/options.m:
    Add a new internal option --static-ground-int64s, whose value
    says whether 64-bit integers may be placed in static data.
    (As with floats currently, we always do this.)

compiler/llds_out_data.m:
    If 64-bit integers are boxed, then emit a static constant to hold
    the value of each 64-bit integer literal.

compiler/llds.m:
compiler/llds_out_util.m:
compiler/code_info.m:
     Keep track of whether we are using unboxed int64s and static ground int64s
     at various points in the code generator.

     Add decl_ids for the labels we generate for 64-bit integer constants.

compiler/exprn_aux.m:
     Fix an XXX: properly determine whether an expression containing 64-bit
     integers is constant or not.

compiler/c_util.m:
    Add functions for converting 64-bit integers into strings giving
    the C literal representation of those integers.
2018-01-23 01:31:24 -05:00
2018-01-09 09:50:50 +11:00
2017-04-04 12:05:56 +10:00
2017-09-27 01:49:12 -04:00
2018-01-08 05:08:57 -05:00
2018-01-17 23:14:41 -05:00
2018-01-09 01:05:42 +11:00
2018-01-01 22:01:25 -05:00
2017-01-30 18:48:57 +11:00
2016-09-22 15:28:22 +10:00
2018-01-01 22:01:25 -05:00
2018-01-09 01:05:42 +11:00
2018-01-14 18:57:57 -05:00
2016-09-28 11:10:33 +10: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.

README files

The Mercury compiler has a number of 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 history file is relevant if you want to find out more about the past development of Mercury. News lists any current or future enhancements (but this isn't always up-to-date). The limitations file lists a number of 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 248 MiB
Languages
Mercury 85.3%
C 8.7%
Shell 1.4%
Makefile 1%
JavaScript 1%
Other 2.1%