Towards Typed Prolog
Prolog is traditionally not statically typed. Since the benefits of static typing are huge, it was decided to grow a portable type system inside two widely used open source Prolog systems: SWI-Prolog and Yap. This requires close cooperation and agreement between the two systems. The type system is Hindley-Milner. The main characteristics of the introduction of types in SWI and Yap are that typing is not mandatory, that typed and untyped code can be mixed, and that the type checker can insert dynamic type checks at the boundaries between typed and untyped code. The basic decisions and the current status of the Typed Prolog project are described, as well as the remaining tasks and problems to be solved.
KeywordsLogic Program Type System Logic Programming Type List Type Check
Unable to display preview. Download preview PDF.
- 5.Pietrzak, P., Correas, J., Puebla, G., Hermenegildo, M.: A Practical Type Analysis for Verification of Modular Prolog Programs. In: ACM SIGPLAN 2008 Workshop on Partial Evaluation and Program Manipulation (PEPM 2008), pp. 61–70. ACM Press, New York (2008)Google Scholar
- 6.Prolog Development Center (Visual Prolog), http://www.visual-prolog.com
- 7.Hill, P.M., Topor, R.: A semantics for Typed Logic Programs. In: Pfenning, M. (ed.) Types in Logic Programming, pp. 1–62. MIT Press, Cambridge (1992)Google Scholar