The Mercury Language Reference Manual
Fergus Henderson
Thomas Conway
Zoltan Somogyi
David Jeffery
Introduction
Syntax
Syntax overview
Tokens
Terms
Items
Declarations
Facts
Rules
Goals
DCG-rules
DCG-goals
Data-terms
Implicit quantification
Elimination of double negation
Types
Modes
Unique modes
Destructive update
Backtrackable destructive update
Limitations of the current implementation
Determinism
Determinism categories
Determinism checking and inference
Replacing compile-time checking with run-time checking
Interfacing nondeterministic code with the real world
Committed choice nondeterminism
User-defined equality predicates
Higher-order programming
Creating higher-order terms
Calling higher-order terms
Higher-order modes
Modules
Semantics
Pragmas
C interface
Calling C code from Mercury
Including C headers
Including C code
Calling Mercury code from C
Linking with C object files
Passing data to and from C
Using C pointers
Memory management
Trailing
Choice points
Value trailing
Function trailing
Delayed goals and floundering
Avoiding redundant trailing
Inlining
Obsolescence
Source file name
Implementation-dependent pragmas
Fact tables
Termination analysis
This document was generated using the
texi2html
translator version 1.31.