Coding guidelines for Prolog

  title={Coding guidelines for Prolog},
  author={M. Covington and R. Bagnara and Richard A. O'Keefe and J. Wielemaker and Simon Price},
  journal={Theory and Practice of Logic Programming},
  pages={889 - 927}
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… Expand
3 Citations
Prolog Coding Guidelines: Status and Tool Support
A linter was implemented for Prolog and applied to several packages to get a hold on the current state of coding guidelines in the community and discuss to what extent they can be automatically verified. Expand
plspec - A Specification Language for Prolog Data
Prolog developers should implement their own runtime type checking system to identify the types or data structures anticipated by predicates in the source code. Expand
Higher-order frameworks for profiling and matching heterogeneous data
This Thesis introduces the SubSift submission sifting framework for developing webbased research intelligence applications that profile and match heterogeneous textual content from web pages and documents and proposes a theoretical framework for querying structured data. Expand


Elements of Programming Style
These notes provide guidelines for internal program documentation and style for student programmers, geared mainly for a block structured language such as Pascal or C, most of the points discussed are applicable to any programming language. Expand
A Documentation Generator for (C)LP Systems
We describe lpdoc, a tool which generates documentation manuals automatically from one or more logic program source files, written in Ciao, ISO-Prolog, and other (C)LP languages. It is particularlyExpand
Ada 95, Quality and Style: Guidelines for Professional Programmers
The style guide is divided into chapters that map to the major decisions a programmer addresses when creating high-quality, reliable, reusable, and portable Ada software. Expand
Programming in Prolog
The Craft of Prolog
The emphasis in "The Craft of Prolog" is on using Prolog effectively, and presents a loose collection of topics that build on and elaborate concepts learning in a first course. Expand
The Practice of Programming
This chapter discusses Markov Chain Algorithm, C++, Interpreters, Compilers, and Virtual Machines, and Programs that Write programs that Write Programs, as well as testing the Markov Program, which uses Macros to Generate Code. Expand
Logical Loops
We present a concrete proposal for enhancing Prolog and Prolog based Constraint Logic Programming languages with a new language construct, the logical loop. This is a shorthand notation for the mostExpand
Type classes in Mercury
This paper explains how Mercury's type system is extended to include support for type classes, and shows that type classes integrate very nicely with Mercury's mode, determinism and uniqueness systems. Expand
Typing constraint logic programs
A prescriptive type system with parametric polymorphism and subtyping for constraint logic programs and modules, while maintaining the capabilities of performing the usual coercions between constraint domains, and of typing meta-programming predicates, thanks to the exibility of subtyped. Expand
A Polymorphic Type System for Prolog
A polymorphic type scheme for Prolog is described which makes static type checking possible and it is observed that the type resolution problem for a Prolog program is another Prolog (meta)program. Expand