| P.M. Hill, R.W. Topor. A Semantics for Typed Logic Programming, Chapter 1, Types in Logic Programming, Logic Programming Series, Frank Pfenning Editor, The MIT Press, pp. 1-58, 1992. |
....type systems) increasing the representation facilities by allowing subdivide the universe of discourse flexibly. The combination of both kinds of polymorphism has also been treated in literature. As a matter of fact, we have the works [8, 20] referring to functional programming and [21] 13] [15], 4, 5] related to logic programming. The type systems of these languages offer advantages from the traditional programming (static consistence at compiletime, avoidance of non meaningful expressions, explicit data structures and better structured programs) growing its importance with the size of ....
....int posint; zero nat negint; zero opnat elist(ff) nelist(ff) list(ff) etree(ff) netree(ff) tree(ff) defines subsorts relation for integer numbers, and specifies the generic empty list and nonempty lists of type ff as subsorts of generic lists of type ff. Similarly for trees. Following [15], type specifications are lower quasi lattice (i.e. every lower bounded set of type constructors has infimum) order sorted relations where only type constructors of the same arity can be compared. Remark that this last condition forces elist(ff) and etree(ff) to be unary. Accordingly, data ....
P.M. Hill, R.W. Topor. A Semantics for Typed Logic Programming, Chapter 1, Types in Logic Programming, Logic Programming Series, Frank Pfenning Editor, The MIT Press, pp. 1-58, 1992.
....equational logic and incorporated to the language OBJ 3. By contrast, type systems with inclusion polymorphism are dynamic type systems, that is type information must be checked at run time. The combination of both kind of polymorphism has been studied for logic programming (cfr. Smo89] Han91] [HiTo92], Bei95] and for functional programming (cfr. FuMi90] Smi94] These approaches investigate the problem of type inference (cfr. Smo89] FuMi90] Smi94] Bei95] or operational semantics based on typed unification for logic programming (cfr. Smo89] Han91] HiTo92] TEL is a language ....
....[Smo89] Han91] HiTo92] Bei95] and for functional programming (cfr. FuMi90] Smi94] These approaches investigate the problem of type inference (cfr. Smo89] FuMi90] Smi94] Bei95] or operational semantics based on typed unification for logic programming (cfr. Smo89] Han91] [HiTo92]) TEL is a language which combines both kinds of polymorphism in a logic language. The integration of logic and functional programming has been studied in the last years (see [Han94a] for a survey) Operational semantics based on lazy narrowing has been presented in [GHLR96] This combination is ....
[Article contains additional citation context not shown here]
P.M. Hill, R.W. Topor. A Semantics for Typed Logic Programming, Chapter 1, Types in Logic Programming, Logic Programming Series, Frank Pfenning Editor, The MIT Press, pp. 1-58, 1992.
....of this kind of languages. One of the traditional topics of research in declarative paradigms has been the incorporation of type systems as an attempt to provide more structured readable compile time type safe programs and run time optimizations. In the functional [8, 18] and the logic paradigm [20, 12, 17, 15, 4, 5] the combination of parametric types and order sorted hierarchies, so called subtyping, has been adopted as a simple type system allowing to subdivide and parametrize the universe of discourse. In particular, the logic paradigm has benefited from the type system by replacing syntactic unification ....
.... of the language, the type analysis at compiletime improves computations in several aspects (avoiding useless computations, reducing the search space of logic variables) In the literature, the problem of type analysis in logic programming with subtyping has been studied for type inference in [4, 15, 20]. The approaches based on type inference are focused in the inference of an environment defining one type for every data variable in every This research has been partially supported by the Spanish National Projects TIC950433 C03 01 CPD and TIC98 0445 C03 02 TREND . clause of a logic ....
[Article contains additional citation context not shown here]
P.M. Hill, R.W. Topor. A Semantics for Typed Logic Programming, in [17], Chapter 1, pp. 1-58, 1992.
....cannot be checked at compile time and attaches a tag to take them into account at run time. The combination of both parametric and inclusion polymorphism has been already studied in both paradigms (for instance, in the functional paradigm in [17] 53] and in the logic paradigm in [55] 29, 30] [35] [10] The quoted works in functional programming deal with type inference, showing algorithms for ML like programs, and addressing the subtype constraints solving [17] and the introduction of overloading [53] On the side of logic programming, the cited works take interest in the use of order ....
.... allowed the design of the programming language TEL [54] In the same line [29, 30] have studied declarative and operational semantics for Horn based programs for two di erent classes of type speci cations (Hornbased speci cations [29] and equational speci cations [30] Related with these works, [35] has presented a simple type system for a typed logic framework in which programs are evaluated by means of a SLDNF resolution based 3 evaluation mechanism. Other authors have been working in the de nition of a Warren style abstract machine [11, 10] which bases the implementation of the language ....
[Article contains additional citation context not shown here]
P.M. Hill and R. W. Topor. A semantics for typed logic programming. In Frank Pfenning, editor, Types in Logic Programming, Logic Programming, pages 1-58. The MIT Press, 1992.
....to combine type checking and inference in order to infer certain additional type information from the type declarations. Previous works for polymorphic order sorted logic programs have considered this combination, obtaining the type of the data variables in every program rule (cfr. Smo89] [HiTo92] and [Bei95] For these type systems, the problem of inference of the most general type has been treated for functional programming in [FuMi90] and [Smi94] The integration of logic and functional programming has been studied in the last years (see [Han94] for a survey) considering the lazy ....
....compile time. Type inference completes the rules with minimal information to check at run time. We present an algorithm for type checking and inference as tool to check and complete the type conditions of the rule conditions. The type system that we present is based on the type system presented in [HiTo92] which considers subtype relations between sorts and type constructors of the same arity defining a quasi lattice and satisfying the monotonicity property. The type information that we infer contains type assumptions for data expressions involving defined functions, which can not be checkable ....
[Article contains additional citation context not shown here]
P.M. Hill, R.W. Topor. A Semantics for Typed Logic Programming, Chapter 1, pp. 1-58, Types in Logic Programming, Logic Programming Series, Frank Pfenning Editor, The MIT Press, 1992.
....of this kind of languages. One of the traditional topics of research in declarative paradigms has been the incorporation of type systems as an aim to provide more structured readable compiler time type safe programs and run time optimizations. In the functional [FM90, Smi94] and the logic paradigm [Smo89, Han92, Pfe92, HT92, Bei95a, Bei95b, Mey97] the combination of parametric types and order sorted hierarchies, so called subtyping, has been adopted as simple type system allowing to subdivide and parametrize the universe of discourse. In particular, the logic paradigm has taken advantage from the type system by replacing syntactic ....
....by . For instance, the type specification: opnat; nat int posint; zero nat negint; zero opnat elist(ff) nelist(ff) list(ff) defines subsort relations for integer numbers, and specifies the generic empty list and nonempty lists of type ff as subsorts of generic lists of type ff. Following [HT92], type specifications are lower quasilattice (i.e. every lower bounded set of type constructors has infimum) order sorted relations where only type constructors of the same arity can be compared. The lower quasi lattice condition ensures also the existence of supremum for upper bounded sets of ....
P.M. Hill, R.W. Topor. A Semantics for Typed Logic Programming, in [Pfe92], Chapter 1, pp. 1-58, 1992.
....has been studied for logic programming in several works. Smo89] for the language TEL [Smo87] presents declarative semantics of least Herbrand model. Han91] presents a proof calculus and a notion of model of a program obtaining results of soundness and completeness w.r.t. the models. [HiTo92] presents also a notion of programmodel and results of soundness and completeness w.r.t. the operational semantics. In a previous work [AlGi96] we presented a polymorphic order sorted type system for a functional logic language, giving a sound and complete operational semantics w.r.t. a proof ....
....semantics by considering Herbrand domains. We define an immediate consequence operator for every program that we will show to be continuous. We obtain the least Herbrand model as fixed point of this operator. 2 Polymorphic Signature The type system we study was presented for logic programming in [HiTo92] and it is strong enough for supporting practical applications. Definition 1 (Type Specification) A type specification is a pair (S,v S ) where S is a type signature, i.e. a finite set of constants sorts and functions type constructors each one with an associated arity, and v S is an ....
[Article contains additional citation context not shown here]
P.M. Hill, R.W. Topor. A Semantics for Typed Logic Programming, Chap. 1, Types in Logic Programming, The MIT Press, 1-58, 1992.
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