# Coding Guidelines for Prolog

**Authors:** Michael A. Covington (Institute for Artificial Intelligence, The, University of Georgia, Athens, Georgia, U.S.A.), Roberto Bagnara (Department, of Mathematics, University of Parma, and BUGSENG srl, Italy), Richard A., O'Keefe (Department of Computer Science, University of Otago, Dunedin, New, Zealand), Jan Wielemaker (Department of Computer Science, VU University, Amsterdam, The Netherlands), Simon Price (Intelligent Systems Laboratory,, University of Bristol, United Kingdom)

arXiv: 0911.2899 · 2011-05-18

## TL;DR

This paper introduces a set of coding guidelines for Prolog, covering code layout, naming, documentation, and development practices, aiming to standardize and improve Prolog programming quality.

## Contribution

It provides the first comprehensive set of coding standards and practical considerations specifically tailored for Prolog programming, including rationale and decision factors.

## Key findings

- Guidelines improve code readability and maintainability.
- Practical examples illustrate pros and cons of different practices.
- Discussion of project-specific factors aids standard selection.

## Abstract

Coding standards and good practices are fundamental to a disciplined approach to software projects, whatever programming languages they employ. Prolog programming can benefit from such an approach, perhaps more than programming in other languages. Despite this, no widely accepted standards and practices seem to have emerged up to now. The present paper is a first step towards filling this void: it provides immediate guidelines for code layout, naming conventions, documentation, proper use of Prolog features, program development, debugging and testing. Presented with each guideline is its rationale and, where sensible options exist, illustrations of the relative pros and cons for each alternative. A coding standard should always be selected on a per-project basis, based on a host of issues pertinent to any given programming project; for this reason the paper goes beyond the mere provision of normative guidelines by discussing key factors and important criteria that should be taken into account when deciding on a fully-fledged coding standard for the project.

---
Source: https://tomesphere.com/paper/0911.2899