4,922 research outputs found
A Practical Type Analysis for Verification of Modular Prolog Programs
Regular types are a powerful tool for computing very precise descriptive types for logic programs. However, in the context of real life, modular Prolog programs, the accurate results obtained by regular types often come at the price of efficiency. In this paper we propose a combination of techniques aimed at improving analysis efficiency in this context. As a first technique we allow optionally reducing the accuracy of inferred types by using only the types defined by the user or present in the libraries. We claim that, for the purpose of verifying type signatures given in the form of assertions the precision obtained using this approach is sufficient, and show that analysis times can be reduced significantly. Our second technique is aimed at dealing with situations where we would like to limit the amount of reanalysis performed, especially for library modules. Borrowing some ideas from polymorphic type systems, we show how to solve the problem by admitting parameters in type specifications. This allows us to compose new call patterns with some pre computed analysis info without losing any information. We argue that together these two techniques contribute to the practical and scalable analysis and verification of types in Prolog programs
Timetabling in constraint logic programming
In this paper we describe the timetabling problem and its solvability in a Constraint Logic
Programming Language. A solution to the problem has been developed and implemented in
ECLiPSe, since it deals with finite domains, it has well-defined interfaces between basic
building blocks and supports good debugging facilities. The implemented timetable was
based on the existing, currently used, timetables at the School of Informatics at out
university. It integrates constraints concerning room and period availability
Experiences with the GTU grammar development environment
In this paper we describe our experiences with a tool for the development and
testing of natural language grammars called GTU (German:
Grammatik-Testumgebumg; grammar test environment). GTU supports four grammar
formalisms under a window-oriented user interface. Additionally, it contains a
set of German test sentences covering various syntactic phenomena as well as
three types of German lexicons that can be attached to a grammar via an
integrated lexicon interface. What follows is a description of the experiences
we gained when we used GTU as a tutoring tool for students and as an
experimental tool for CL researchers. From these we will derive the features
necessary for a future grammar workbench.Comment: 7 pages, uses aclap.st
Portability of Prolog programs: theory and case-studies
(Non-)portability of Prolog programs is widely considered as an important
factor in the lack of acceptance of the language. Since 1995, the core of the
language is covered by the ISO standard 13211-1. Since 2007, YAP and SWI-Prolog
have established a basic compatibility framework. This article describes and
evaluates this framework. The aim of the framework is running the same code on
both systems rather than migrating an application. We show that today, the
portability within the family of Edinburgh/Quintus derived Prolog
implementations is good enough to allow for maintaining portable real-world
applications.Comment: Online proceedings of the Joint Workshop on Implementation of
Constraint Logic Programming Systems and Logic-based Methods in Programming
Environments (CICLOPS-WLPE 2010), Edinburgh, Scotland, U.K., July 15, 201
- …