Hostname: page-component-77f85d65b8-6bnxx Total loading time: 0 Render date: 2026-04-21T02:59:01.258Z Has data issue: false hasContentIssue false

Coding guidelines for Prolog

Published online by Cambridge University Press:  30 June 2011

MICHAEL A. COVINGTON
Affiliation:
Institute for Artificial Intelligence, The University of Georgia, Athens, GA, USA (e-mail: mc@uga.edu)
ROBERTO BAGNARA
Affiliation:
Department of Mathematics, University of Parma, Itlay BUGSENG srl, Parma, Italy (e-mail: bagnara@cs.unipr.it)
RICHARD A. O'KEEFE
Affiliation:
Department of Computer Science, University of Otago, Dunedin, New Zealand (e-mail: ok@cs.otago.ac.nz)
JAN WIELEMAKER
Affiliation:
Department of Computer Science, VU University Amsterdam, The Netherlands (e-mail: j.wielemaker@cs.vu.nl)
SIMON PRICE
Affiliation:
Intelligent Systems Laboratory, University of Bristol, Bristol, UK (e-mail: simon.price@bristol.ac.uk)

Abstract

Coding standards and good practices are fundamental to a disciplined approach to software projects irrespective of programing languages being employed. Prolog programing can benefit from such an approach, perhaps more than programing in other languages. Despite this, no widely accepted standards and practices seem to have emerged till now. The present paper is a first step toward 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 programing 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 full-fledged coding standard for the project.

Information

Type
Regular Papers
Copyright
Copyright © Cambridge University Press 2011

Access options

Get access to the full version of this content by using one of the access options below. (Log in options will check for institutional or personal access. Content may require purchase if you do not have access.)

Article purchase

Temporarily unavailable