Results 1 
3 of
3
An Efficient Unification Algorithm
 TRANSACTIONS ON PROGRAMMING LANGUAGES AND SYSTEMS (TOPLAS)
, 1982
"... The unification problem in firstorder predicate calculus is described in general terms as the solution of a system of equations, and a nondeterministic algorithm is given. A new unification algorithm, characterized by having the acyclicity test efficiently embedded into it, is derived from the nond ..."
Abstract

Cited by 333 (1 self)
 Add to MetaCart
The unification problem in firstorder predicate calculus is described in general terms as the solution of a system of equations, and a nondeterministic algorithm is given. A new unification algorithm, characterized by having the acyclicity test efficiently embedded into it, is derived from the nondeterministic one, and a PASCAL implementation is given. A comparison with other wellknown unification algorithms shows that the algorithm described here performs well in all cases.
Explaining Type Inference
 Science of Computer Programming
, 1995
"... Type inference is the compiletime process of reconstructing missing type information in a program based on the usage of its variables. ML and Haskell are two languages where this aspect of compilation has enjoyed some popularity, allowing type information to be omitted while static type checking is ..."
Abstract

Cited by 53 (0 self)
 Add to MetaCart
Type inference is the compiletime process of reconstructing missing type information in a program based on the usage of its variables. ML and Haskell are two languages where this aspect of compilation has enjoyed some popularity, allowing type information to be omitted while static type checking is still performed. Type inference may be expected to have some application in the prototyping and scripting languages which are becoming increasingly popular. A difficulty with type inference is the confusing and sometimes counterintuitive diagnostics produced by the type checker as a result of type errors. A modification of the HindleyMilner type inference algorithm is presented, which allows the specific reasoning which led to a program variable having a particular type to be recorded for type explanation. This approach is close to the intuitive process used in practice for debugging type errors. 1 Introduction Type inference refers to the compiletime process of reconstructing missing t...
Reengineering Unification And TEntailment For Mantra In C++
, 1996
"... Reengineering Unification and tEntailment for Mantra in C++ Tania Kharma The objective of this thesis lies in two directions. In one hand, understanding the concepts of unification and decidable inference mechanism, used in building the logic formalism of Mantra and implemented in its previous ver ..."
Abstract

Cited by 1 (1 self)
 Add to MetaCart
Reengineering Unification and tEntailment for Mantra in C++ Tania Kharma The objective of this thesis lies in two directions. In one hand, understanding the concepts of unification and decidable inference mechanism, used in building the logic formalism of Mantra and implemented in its previous version in Common Lisp in 1991. On the other hand, learning about the object oriented paradigm and applying it in the design and implementation through the use of design patterns, the OMT notations, and C++ as the implementation language. Mantra is a shell for hybrid knowledge representation and hybrid inferences. It supports three different formalisms: logic, frames, and semantic networks. In representing any kind of knowledge through a knowledge base system, one is faced with choosing among a broad repertoire of formalisms. Mantra provides a combination of knowledge representation formalisms, so the user can decide which representation is convenient for each piece of knowledge, and is not lim...