| U. S. Reddy. Notions of Polymorphism for Predicate Logic Programs. In R. A. Kowalski and K. A. Bowen, editors, Fifth International Conference on Logic Programming, Seattle. MIT Press, 1988. Printed in separate booklet to main proceedings. |
....used in an implementation of the higher order language called Prolog. Key Words: Logic programming, typing, run time type checking, implementation. 1 Introduction There have been two di erent views of types in logic programming, manifest in the notions of prescriptive and descriptive typing [23]. The former notion corresponds to the use of a typed logic for programming, whereas the latter notion encapsulates an understanding of given (untyped) programs without changing the language used. At a pragmatic level, the rst view of typing leads to languages with greater expressiveness while ....
Uday S. Reddy. Notions of polymorphism for predicate logic programs. In K. Bowen and R. Kowalski, editors, Proceedings of the Fifth International Conference and Symposium on Logic Programming. MIT Press, 1988.
....of types in a logic programming language. As mentioned by Pfenning [18] one of the main motivation is that types help to detect programming errors at compile time . Furthermore types can also help the compiler to do some optimizations. Type systems can be roughly divided into two categories [20]: In a prescriptive type system, terms are intrinsically typed; In a descriptive type system, the terms are decorated with types. In the former category, types are in the definition of the terms thus the semantics and the interpretation of the language must take these types into account. In the ....
U.S. Reddy. Notions of polymorphism for predicate logic programs. In K.A. Bowen and R.A. Kowalski, editors, 5th Int. Conf. and Symp. on Logic Programming, pages 17--34. MIT Press, August 1988. 14
....Wadler [Wad89] who derives theorems about functions working simply from their type signatures, and that of Mary Sheeran, who has applied category theoretical interpretations to type signatures for similar results. The issue of types in logic programming has been studied by many authors (see [Red88] and [Pfe90] for recent surveys) The approaches can be classified as prescriptive (e.g. Han89] where type declarations restrict the success set of the program, and descriptive, where types (declared as e.g. in [MO85] or inferred as in e.g. Mis84] describe properties of the success set of ....
Uday Reddy. Notions of polymorphism for predicate logic programs. In Robert Kowalski and Kenneth Bowen, editors, Proc. 5th Int. Conf. and Symp. on Logic Programming, Seattle, 1988. MIT Press.
....an exhaustive viewpoint. There has in fact been another, somewhat disparate viewpoint, that has shaped a large part of the work on the aspect of types in the context of logic programming. This viewpoint, first enunciated in [15] gives rise to what might be called the notion of descriptive types [25]. The main purpose of types under this view is as a means for characterizing particular programs that are written in a language that is, at the outset, typeless. The method used for characterizing a program within this approach has generally depended on describing the success set of each predicate ....
....languages are what might be called type languages: the expressions in them denote sets of terms and therefore correspond to types. The description of such languages has generally been complemented by the development of rules for inferring type annotations for the predicates that appear in programs [15, 16, 24, 25, 30]. The idea of descriptive types have several potential uses. The types that are inferred for the predicates in a program may, for instance, constitute useful information for a compiler. Inferred types may similarly be utilized as a form of documentation for a program and may also provide the ....
Reddy, U.S. Notions of polymorphism for predicate logic programs. Proceedings of the Fifth International Conference and Symposium on Logic Programming, Bowen, K. and Kowalski, R., eds., MIT Press, 1988.
....predicate arguments. Section 5.2 (see after Example 5.5) shows that, in the presence of inclusion polymorphism, mode declarations alone are incapable of capturing certain subtleties of interaction between the types assigned to predicate arguments. TDs are also related to implicational types of [Red88], which serve similar purpose. Informally, a signature such as phu; v; w=f1; 2g f3g; f3g f1gi states that for every data atom p(a; b; c) if a and b are of the types u and v, respectively, then c must be of the type w. Likewise, if c is of the type w then a is of the type u. For notational ....
U.S. Reddy. Notions of polymorphism for predicate logic programs. In Intl. Conference on Logic Programming, pages (addendum, distributed at conference) 17--34. MIT Press, August 1988. also to appear in J. Logic Programming.
....used in an implementation of the higher order language called Prolog. Key Words: Logic programming, typing, run time type checking, implementation. 1 Introduction There have been two different views of types in logic programming, manifest in the notions of prescriptive and descriptive typing [23]. The former notion corresponds to the use of a typed logic for programming, whereas the latter notion encapsulates an understanding of given (untyped) programs without changing the language used. At a pragmatic level, the first view of typing leads to languages with greater expressiveness while ....
Uday S. Reddy. Notions of polymorphism for predicate logic programs. In K. Bowen and R. Kowalski, editors, Proceedings of the Fifth International Conference and Symposium on Logic Programming. MIT Press, 1988.
....type system and a new typed inference calculus in combination sometimes have to cope with severe undecidability problems, or they restrict the language or impose a run time overhead that is not accepted by most programmers. Closer to our type system are proposals using so called implication types [Red88, PR89] or type dependencies ( KW90] see also [CK93] An example for a type dependency is appendhlist(T ) list(T ) list(T ) 1; 2 3; 3 1; 2i. Its meaning is: For all , if the first two arguments of append have the type list( then so does the third argument, and vice versa. This type ....
Uday S. Reddy. Notions of polymorphism for predicate logic programs. In Int. Conf. on Logic Programming, pages (addendum, distributed at conference) 17--34. The MIT Press, August 1988.
....lists of numbers (or, may be, even more general lists, if X is bound to, say, a string) Thus, in the extreme case when a type system has the largest type, all, viewing (1) as a universally quantified statement leads to a complete collapse of parametric polymorphism. To repair this problem, Reddy [28] proposed a device called implication types. Unfortunately, implication types are not easy to use and lead to complicated type specifications. Later, Kifer and Wu [20] introduced the notion of type dependency (abbr. TD ) and showed that, to get the desired behavior, the universal quantification ....
....that fits all syntactic contexts in which this variable occurs. Pure model theoretic approaches, such as [20] tend not to have this property. Robustness with respect to subtyping: As noted earlier, virtually every polymorphic system proposed for type checking with the notable exception of [28, 19, 20] collapses when inclusion and parametric polymorphisms interact. Type reflexivity: It should be possible to inspect (reflect upon) types using the same logical language. As far as we know, only [19, 20] have this property. Dynamic types: Some applications (e.g. object oriented knowledge base ....
[Article contains additional citation context not shown here]
U.S. Reddy. Notions of polymorphism for predicate logic programs. In Joint Intl. Conference and Symposium on Logic Programming (JICSLP). MIT Press, August 1988. Paper presented at the conference and distributed as an addendum to the proceedings.
No context found.
U. S. Reddy. Notions of Polymorphism for Predicate Logic Programs. In R. A. Kowalski and K. A. Bowen, editors, Fifth International Conference on Logic Programming, Seattle. MIT Press, 1988. Printed in separate booklet to main proceedings.
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