| B. Demoen, M. Garcia de la Banda, and P.J. Stuckey. Type constraint solving for parametric and ad-hoc polymorphism. In Proceedings of the 22nd Australian Computer Science Conference, pages 217-228, january 1999. |
.... in [15] Recent work on types for logic programming have concentrated on implementation techniques for eciently inferring or checking polymorphic types by integrating polymorphic type checking into an abstract interpretation framework [57] or by applying constraint solving techniques [13]. Most recently, a novel proof of soundness for a Mycroft O Keefe style type system (for rst order logic programming) was given in [16] using a declarative semantics based upon derivation trees. The type system we have designed and implemented is signi cantly more expressive than any of these ....
Bart Demoen, Mara Garca de la Banda, and Peter J. Stuckey. Type constraint solving for parametric and ad-hoc polymorphism. In Proceedings of the 22nd Australian Computer Science Conference, pages 217-228. Springer Verlag, January 1999.
.... We consider a program to be well typed if each variable of the program in its normal form has a single most general type, and the types of the variables satisfy the constraints imposed by the type, predicate and function declarations (Demoen, et al. present a direct use of this strategy in [31]) Currently the Mercury compiler does not implement type checking directly in terms of constraints in this manner, but we have plans to reimplement type checking to do so. We use the type, predicate and function declarations as the basis for type checking which rejects programs that are not well ....
....in = in) after the call. We then linearize this partial ordering by choosing at each step the lowest numbered literal allowed by the partial ordering. There are many complications in the details of this which are being addressed in the current work in progress of Overton, Stuckey and Somogyi. See [31] for similar work for HAL [32] If the constraints are unsatisfiable, then we conclude there are mode errors in the program. The reordering of conjunctions ensures that we don t engage in under constrained searches that are often unbounded (such as calls to append 3 in which neither the first or ....
B. Demoen, M. Garca de la Banda, and P.J. Stuckey. Type constraint solving for parametric and ad-hoc polymorphism. In J. Edwards, editor, Proceedings of the 22nd Australian Computer Science Conference, pages 217--228. Springer-Verlag, January 1999.
....for exported predicates and functions. The HAL compiler performs type checking and inference. Partial type information may be expressed by using a in place of an argument type or class constraint. The type checking algorithm is based on a constraint view of types and is described in [5]. The HAL compiler currently does not perform mode inference, but does perform mode checking [9] The compiler performs determinism and purity inference and checking, using its generic analysis engine [19] Compilation into Mercury required extending and modifying the Mercury language and its ....
B. Demoen, M. Garca de la Banda, and P.J. Stuckey. Type constraint solving for parametric and ad-hoc polymorphism. In Procs. of the 22nd Australian Comp. Sci. Conf., pages 217-228, 1999.
....find the least fixpoint in the usual manner (see e.g. 10] Note that since there are no infinite ascending chains this process is finite. We can alternatively (and this is the approach taken in the implementation) use a constraint based fixpoint rule (as in HindleyMilner type inference, see e.g. [3]) which simply ensures that recursive calls have the same descriptions as the head. This is more inaccurate but sound. We assume a function analyse R (G) for analysing a goal G using abstract domain A (one of R or E) Hence analyse R (G) and analyse E (G) return the range and endpoint descriptions ....
B. Demoen, M. Garca de la Banda, and P. J. Stuckey. Type constraint solving for parametric and ad-hoc polymorphism. In J. Edwards, editor, Proceedings of the 22nd Australian Computer Science Conference, pages 217--228. Springer-Verlag, January 1999.
....find the least fixpoint in the usual manner (see e.g. 10] Note that since there are no infinite ascending chains this process is finite. We can alternatively (and this is the approach taken in the implementation) use a constraint based fixpoint rule (as in HindleyMilner type inference, see e.g. [3]) which simply ensures that recursive calls have the same descriptions as the head. This is more inaccurate but sound. We assume a function analyse R (G) for analysing a goal G using abstract domain A (one of R or E) Hence analyse R (G) and analyse E (G) return the range and endpoint descriptions ....
B. Demoen, M. Garca de la Banda, and P. J. Stuckey. Type constraint solving for parametric and ad-hoc polymorphism. In J. Edwards, editor, Proceedings of the 22nd Australian Computer Science Conference, pages 217--228. Springer-Verlag, January 1999.
....that it describes. The determinism erroneous indicates a runtime error, while failure indicates the predicate always fails. The HAL compiler currently provides type checking and inference, and mode checking. Type checking and inference is performed using a propagation based constraint approach [3]. It extends Mercury s analysis by allowing a limited form of subtyping required for natural constraint expression (though irrelevant to the Herbrand solvers) Mode checking is a relatively complex operation involving reordering body literals in order to satisfy mode constraints, and inserting ....
B. Demoen, M. Garca de la Banda, and P.J. Stuckey. Type constraint solving for parametric and ad-hoc polymorphism. In J. Edwards, editor, Proceedings of the 22nd Australian Computer Science Conference, pages 217-228. Springer-Verlag, January 1999.
....and determinism declarations for exported predicates and functions. The HAL compiler performs type checking and inference. Partial type information may be expressed by using a in place of an argument type. The type checking algorithm is based on a constraint view of types and is described in [2]. The HAL compiler currently does not perform mode inference, but does perform mode checking. Currently, determinacy declarations are not checked by the HAL compiler but simply passed through to the Mercury compiler. They are ignored when compiling to SICStus Prolog. Compilation into Mercury ....
B. Demoen, M. Garc'ia de la Banda, and P.J. Stuckey. Type constraint solving for parametric and ad-hoc polymorphism. In Procs. of the 22nd Australian Comp. Sci. Conf., pages 217--228, 1999.
....are used and higher order predicates are largely ignored. Regular trees have been used before in logic programming to de ne types, e.g. 6] and instantiations, e.g. 8] usually in the context of inference of information. Here, although we use regular trees to formalize types, our type analysis [5] is based on a HindleyMilner approach. A key di erence with previous work (in particular [8] is that we describe instantiations for polymorphic types, including higher order objects. The only other work on mode checking in strongly typed logic languages with reorderable clause bodies is that of ....
B. Demoen, M. Garca de la Banda, and P.J. Stuckey. Type constraint solving for parametric and ad-hoc polymorphism. In Proc. of 22nd ACSC, 217-228. SpringerVerlag, 1999.
....are used and higher order predicates are largely ignored. Regular trees have been used before in logic programming to de ne types, e.g. 7] and instantiations, e.g. 9] usually in the context of inference of information. Here, although we use regular trees to formalize types, our type analysis [6] is based on a Hindley Milner approach. A key di erence with previous work (in particular [9] is that we describe instantiations for polymorphic types, including higher order objects. The only work on mode checking in strongly typed logic languages with reorderable clause bodies is that of [13] ....
B. Demoen, M. Garca de la Banda, and P.J. Stuckey. Type constraint solving for parametric and ad-hoc polymorphism. In Proc. of 22nd ACSC, 217-228. SpringerVerlag, 1999.
....and determinism declarations for exported predicates and functions. The HAL compiler performs type checking and inference. Partial type information may be expressed by using a in place of an argument type. The type checking algorithm is based on a constraint view of types and is described in [2]. The HAL compiler currently does not perform mode inference, but does perform mode checking. Currently, determinism declarations are not checked by the HAL compiler but simply passed through to the Mercury compiler. They are ignored when compiling to SICStus Prolog. Compilation into Mercury ....
B. Demoen, M. Garca de la Banda, and P.J. Stuckey. Type constraint solving for parametric and ad-hoc polymorphism. In Procs. of the 22nd Australian Comp. Sci. Conf., pages 217-228, 1999.
No context found.
B. Demoen, M. Garcia de la Banda, and P.J. Stuckey. Type constraint solving for parametric and ad-hoc polymorphism. In Proceedings of the 22nd Australian Computer Science Conference, pages 217-228, january 1999.
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