Results 1 -
3 of
3
An Efficient Unification Algorithm
- TRANSACTIONS ON PROGRAMMING LANGUAGES AND SYSTEMS (TOPLAS)
, 1982
"... The unification problem in first-order 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 317 (0 self)
- Add to MetaCart
The unification problem in first-order 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 well-known 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 compile-time 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 52 (0 self)
- Add to MetaCart
Type inference is the compile-time 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 counter-intuitive diagnostics produced by the type checker as a result of type errors. A modification of the Hindley-Milner 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 compile-time process of reconstructing missing t...
Reengineering Unification And T-Entailment For Mantra In C++
, 1996
"... Reengineering Unification and t-Entailment 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 t-Entailment 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...

