| Nakashima, H., Ueda, K. and Tomura, S., What Is a Variable in Prolog? In Proc. Int. Conf. on Fifth Generation Computer Systems |
.... value returned for key is not a copy of the value found in the table (as it would have been if the table was implemented using the internal data base) To implement Prolog data bases using these hash tables, it is therefore necessary to have separate primitives for freezing and melting clauses [Nakashima et al. 84] The internal data base in Tricia is indeed implemented in this way [Barklund 87] puthash key hashtable value newhashtable newhashtable is exactly like hashtable, except that key is associated with value. This does not change hashtable. remhash key hashtable newhashtable newhashtable is ....
H. Nakashima, K. Ueda, S. Tomura, What Is a Variable in Prolog?, International Conference on Fifth Generation Computer Systems 1984, pp. 327--332, Tokyo, 1984.
....primitive, GHC replaced it with the rule that no bindings (constraints) can be published from the guard (including the head) of a clause to the caller of the clause. Figure 2 shows a GHC interpreter in GHC in [27] Here it is assumed that a built in predicate clauses 2 returns in a frozen form [16] a list of all clauses whose heads are potentially unifiable with the given goal. Each frozen clause is a ground term in which original variables are indicated by special constant symbols, and it is melted in the guard of the first clause of resolve 3 by melt new 2. The goal melt new(C, A : ....
Nakashima, H., Ueda, K. and Tomura, S., What Is a Variable in Prolog? In Proc. Int. Conf. on Fifth Generation Computer Systems
....: melt new(C, A: G B2) call(G) B=B2. resolve(A, C Cs] B) resolve(A,Cs,B2) B=B2. This program is basically a GHC version of the Concurrent Prolog metainterpreter by Shapiro [1984] The predicate clauses is a system predicate which returns in a frozen form [Nakashima, Ueda and Tomura 1984] a list of all clauses whose heads are potentially unifiable with the given goal. Each frozen clause is a ground term in which original variables are indicated by special constant symbols, and it is melted in the guard of the first clause of resolve by melt new . The goal melt new(C, A : ....
Nakashima, H., Ueda, K. and Tomura, S. [1984] What Is a Variable in Prolog? In Proc. Int. Conf. on Fifth Generation Computer Systems 1984, Institute for New Generation Computer Technology, Tokyo, pp. 327--332.
Online articles have much greater impact More about CiteSeer.IST Add search form to your site Submit documents Feedback
CiteSeer.IST - Copyright Penn State and NEC