File: glossary.html

package info (click to toggle)
mercury 0.10.1-3
  • links: PTS
  • area: main
  • in suites: woody
  • size: 21,984 kB
  • ctags: 11,923
  • sloc: objc: 187,634; ansic: 66,107; sh: 7,570; lisp: 1,568; cpp: 1,337; makefile: 614; perl: 511; awk: 274; asm: 252; exp: 32; xml: 12; fortran: 3; csh: 1
file content (111 lines) | stat: -rw-r--r-- 2,640 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
<html>
<head>
<title>
	Glossary Of Terms Used In Mercury
</title>
</head>

<body
	bgcolor="#ffffff"
	text="#000000"
>

<hr>
<!-------------------------->

<dl>

<dt> assertion/promise
	<dd>
    A declaration that specifies a law that holds for the
    predicates/functions in the declaration.

<dt> class context 
	<dd>
	The typeclass constraints on a predicate or function.

<dt> HLDS 
	<dd>
	The "High Level Data Structure".  See hlds.m.

<dt> moduleinfo 
	<dd>
	Another name for the HLDS.

<dt> LLDS
	<dd>
	The "Low Level Data Structure".  See llds.m.

<dt> inst
	<dd>
	instantiatedness.  An inst holds three different sorts of
      information.  It indicates whether a variable is free, partially
      bound, or ground.  If a variable is bound, it may indicate
      which functor(s) the variable can be bound to.  Also,
      an inst records whether a value is unique, or whether
      it may be aliased.

<dt> liveness
	<dd>
	this term is used to mean two quite different things!
	<ol>
	<li> There's a notion of liveness used in mode analysis:
	a variable is live if either it or an alias might be
	used later on in the computation.
	<li> There's a different notion of liveness used for code generation:
	a variable becomes live (is "born") when the register or stack
	slot holding the variable first acquires a value, and dies when
	that value will definitely not be needed again within this procedure.
	This notion is low-level because it could depend on the low-level
	representation details (in particular, `no_tag' representations
	ought to affect liveness).
	</ol>

<dt> mode 
	<dd>
	this has two meanings:
	<ol>
	<li> a mapping from one instantiatedness to another
		(the mode of a single variable)
	<li> a mapping from an initial instantiatedness of a predicate's
		arguments to their final instantiatedness
		(the mode of a predicate)
	</ol>
	
<dt> proc (procedure)
	<dd>
	a particular mode of a predicate.

<dt> procinfo 
	<dd>
	the structure in HLDS which contains
	information about a procedure.

<dt> predinfo
	<dd>
	the structure in HLDS which contains information about
	a predicate.

<dt> codeinfo
	<dd>
	a structure used by codegen.m

<dt> switch
	<dd>
	a disjunction which does a case analysis on the toplevel
	functor of some variable.

<dt> super-homogenous form (SHF)
	<dd>
	 a simplified, flattened form of goals, where
	each unification is split into its component pieces; in particular,
	the arguments of each predicate call and functor must be distinct
	variables.
</dl>

<hr>
<!-------------------------->

Last update was $Date: 1999/11/12 09:12:24 $ by $Author: petdr $@cs.mu.oz.au. <br>
</body>
</html>