| T. Kanamori and K. Horiuchi. Polymorphic Type Inference in Prolog by Abstract Interpretation. In Logic Programming 87 - Tokyo, volume 315 of Lecture Notes in Computer Science, pages 195-214. Springer-Verlag, 1988. |
....systems) To define such signature morphisms, typed signatures for the used systems have to be given. Every operation (function, predicate or constraint) is described by its name and its functionality, thus reflecting much of the internal structure of the involved systems. In difference to [1] or [9] we do not introduce new typing predicates or even type systems to PROLOG, but use type variables for all unknown types instead. In this paper we define a relationship between CHR programs and typed signatures. It describes a software tool, that generates typed signatures for constraint systems ....
....by type variables, listed in the sorts parts. Only some basic types like number or float, which are explicitly assigned to certain symbols in a database, can be determined definitely. More built in types could be used, when a type inference system and typing predicates are introduced, see [9] or [1] The algorithm, described in figures 1 and 2, is implemented in PROLOG, so that it can be used in most CLP systems to serve as a prerequisite for the definition of composed constraint systems like it is described in the introduction. We used the implementation as a stand alone program in ....
Kenji Horiuchi and Tadashi Kanamori. Polymorphic type inference in prolog by abstract interpretation. In Proceedings of the 6th Conference Logic Programming (LP'87), number 315 in Springer LNCS, pages 195--214, 1987.
....systems) To de ne such signature morphisms, typed signatures for the used systems have to be given. Every operation (function, predicate or constraint) is described by its name and its functionality, thus re ecting much of the internal structure of the involved systems. In di erence to [1] or [9] we do not introduce new typing predicates or even type systems to PROLOG, but use type variables for all unknown types instead. In this paper we de ne a relationship between CHR programs and typed signatures. It describes a software tool, that generates typed signatures for constraint systems ....
....described by type variables, listed in the sorts parts. Only some basic types like number or float, which are explicitly assigned to certain symbols in a database, can be determined de nitely. More built in types could be used, when a type inference system and typing predicates are introduced, see [9] or [1] The algorithm, described in gures 1 and 2, is implemented in PROLOG, so that it can be used in most CLP systems to serve as a prerequisite for the de nition of composed constraint systems like it is described in the introduction. We used the implementation as a stand alone program in ....
Kenji Horiuchi and Tadashi Kanamori. Polymorphic type inference in prolog by abstract interpretation. In Proceedings of the 6th Conference Logic Programming (LP'87), number 315 in Springer LNCS, pages 195-214, 1987.
....to prove the correctness of the construction. The basic step in every abstract interpretation approach to type analysis is the choice of the abstract domain, which de nes how we assign types to terms. A ground type language does not allow one to handle type dependencies [4] This is the case of [14,18]. Some type dependencies among di erent arguments of a procedure can be expressed using type variables in the type language. This is a standard solution, used for instance in [3,13,19,6] The same solution is used in the framework of regular approximations of the success set in [11] However, the ....
T. Kanomori and K. Horiuchi. Polymorphic Type Inference in Prolog by Abstract Interpretation. In Logic Programming 87- Tokyo, volume 315 of Lecture Notes in Computer Science, pages 195-214. Springer-Verlag, 1988.
....systems infer types from the text of a program. Some type analysis systems infer a type for the program and the type is meant to denote a superset of the success set of the program [1, 10, 12, 13, 25, 29, 32, 33, 34] Other type analysis systems infer types for procedure calls and successes [4, 14, 16, 19, 20]. There are three main approaches for inferring types [13] The first approach obtains from a program a system of formulae which describes set theoretic relationships between the atoms appearing in the program. A type is then defined to be a distinguished model of the system of formulae. Examples ....
....and the second approaches are equivalent in the sense that a type in one approach has its counterpart in the other. The third approach involves specialising an abstract interpretation framework by developing abstract domains and their associated abstract functions. Some examples are to be found in [4, 14, 16, 19, 20]. Most type analysis systems infer descriptive types. A descriptive type is a description of a set of terms by an expression in a type language. Different type analysis systems may use different type languages. Most of them use regular types or deterministic regular types [10] in one form or ....
[Article contains additional citation context not shown here]
K. Horiuchi and T. Kanamori. Polymorphic type inference in Prolog by abstract interpretation. In K. Furukawa, H. Tanaka, and T. Fujisaki, editors, Proceedings of the Sixth Conference on Logic Programming, pages 195--214, Tokyo, June 1987.
....systems infer types from the text of a program. Some type analysis systems infer a type for the program and the type is meant to denote a superset of the success set of the program [1, 2, 10, 16, 19, 20, 37, 42, 48, 49, 50] Other type analysis systems infer types for procedure calls and successes [6, 22, 24, 27, 28]. There are three main approaches to inferring types [20] The first approach obtains from a program P a system of formulae which describes set theoretic relationships between the atoms appearing in P. A type is then defined to be a distinguished model of the system of formulae. Examples of this ....
....and the second approaches are equivalent in the sense that a type in one approach has its counterpart in the other. The third approach involves specialising an abstract interpretation framework by developing abstract domains and their associated abstract operators. Some examples are to be found in [6, 22, 24, 27, 28]. Most type analysis systems infer descriptive types. A descriptive type is a description of a set of terms by an expression in a type language. Different type analysis systems may use different type languages. Most of them use regular types or deterministic regular types [16] in one form or ....
[Article contains additional citation context not shown here]
K. Horiuchi and T. Kanamori. Polymorphic type inference in Prolog by abstract interpretation. In K. Furukawa, H. Tanaka, and T. Fujisaki, editors, Proceedings of the Sixth Conference on Logic Programming, pages 195--214, Tokyo, June 1987.
.... (7) add(0,X,X) 8) add(s(X) Y,s(Z) add(X,Y,Z) 9) positive(s(X) 0) Table 1: A logic program. Now, consider a simple semantic based type analysis of the Prolog program P and query positive sum list(X,Y) like those proposed in [Barbuti and Giacobazzi 92] Pyo and Reddy 89] and [Kanomori and Horiuchi 88] which ignore Prolog s search strategy. Current implementations, such as those proposed in [Bruynooghe 91] and [Le Charlier and Van Hentenryck 94] easily detect that any answer for the call list of numbers(X) binds X to a list of numbers. However, a more accurate analysis based on a Prolog ....
T. Kanomori and K. Horiuchi. Polymorphic type inference in prolog by abstract interpretation. In Logic Programming 87- Tokyo, volume 315 of Lecture Notes in Computer Science, pages 195--214. Springer-Verlag, Berlin, 1988.
....An analysis corresponds to an abstract interpretation. For a monomorphic analysis, data descriptions are monomorphic as they do not contain parameters. For a polymorphic analysis, data descriptions contain parameters. Take the logic program in figure 1 as an example. By a monomorphic type analysis [20, 30], one would infer [L 1 2 list(nat) L 2 2 list(nat) append(L 1 ; L 2 ; L 3 ) L 3 2 list(nat) and [L 1 2 list(int) L 2 2 list(int) append(L 1 ; L 2 ; L 3 ) L 3 2 list(int) It is desirable to design a polymorphic type analysis [3, 9, 31] which would infer [L 1 2 list(ff) L 2 2 ....
K. Horiuchi and T. Kanamori. Polymorphic type inference in Prolog by abstract interpretation. In K. Furukawa, H. Tanaka, and T. Fujisaki, editors, Proceedings of the Sixth Conference on Logic Programming, pages 195--214, Tokyo, June 1987.
.... (7) add(0,X,X) 8) add(s(X) Y,s(Z) add(X,Y,Z) 9) positive(s(X) 0) Table 1: A logic program. Now, consider a simple semantic based type analysis of the Prolog program P and query positive sum list(X,Y) like those proposed in [Barbuti and Giacobazzi 92] Pyo and Reddy 89] and [Kanomori and Horiuchi 88] which ignore Prolog s search strategy. Current implementations, such as those proposed in [Bruynooghe 91] and [Le Charlier and Van Hentenryck 94] easily detect that any answer for the call list of numbers(X) binds X to a list of numbers. However, a more accurate analysis based on a Prolog ....
T. Kanomori and K. Horiuchi. Polymorphic type inference in prolog by abstract interpretation. In Logic Programming 87- Tokyo, volume 315 of Lecture Notes in Computer Science, pages 195--214. Springer-Verlag, Berlin, 1988.
.... of logic programs the type of a program typically denotes a superset of the least Herbrand model, e.g. 26, 20, 37, 18] where the type inference techniques proposed are based on regular types (see e.g. 11] Other proposals concern inference of types for procedure calls and successes, e.g. [23, 25, 7]. In the context of the CLP programs the descriptive typing has instead to refer to the least D model. A natural extension of the regular types for CLP work is defined by RULC programs of [16] Soft typing is a descriptive typing since it refers to independently defined semantics of the program. ....
P. Horiuchi and T. Kanamori. Polymorphic type inference in Prolog by abstract interpretation. In Proc. of the Sixth Conf. on Logic Programming. p. 195-214, Springer-Verlag, 1998.
No context found.
T. Kanamori and K. Horiuchi. Polymorphic Type Inference in Prolog by Abstract Interpretation. In Logic Programming 87 - Tokyo, volume 315 of Lecture Notes in Computer Science, pages 195-214. Springer-Verlag, 1988.
No context found.
K. Horiuchi, T. Kanamori, Polymorphic type inference in prolog by abstract interpretation, Logic Programming '87, Proc. 6th Conf., Lecture Notes in Computer Science, Vol. 315 (1987) 195--214.
No context found.
T. Kanomori and K. Horiuchi. Polymorphic Type Inference in Prolog by Abstract Interpretation. In Logic Programming 87- Tokyo, volume 315 of Lecture Notes in Computer Science, pages 195--214. Springer-Verlag, Berlin, 1988.
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