ACL: a Tool for Conceptual Programming


Abstract :

In this paper, we present the ACL tool which proposes special features that we have developed for conceptual programming within LISP.

ACL provides a small set of primitives for abstract and conceptual computations performed during traversal of linear collections, like a copy , a totalization or a mapping. These computations may be refined, through keywords, in order to define variants of computations (a selection for example is a kind of copy which copies only some elements), and combined together when several computations have to be performed during the traversal of the same collection (for example, several copies are required to partition a list).

ACL relies on our model for function descriptions which integrates knowledge about standard computations. ACL definition are thus very concise - since only what differs from standard has to be defined while every stereotypical part is automatically compiled by the system - and easy to understand - since what is computed is clearly mentioned within the definition itself. ACL proposes thus to directly manipulate algorithmic concepts through iteration abstraction and insertive programming, two techniques which enable programmers to concentrate rather on conceptual problems than implementation aspects.


Ce papier est disponible en version Postcript ou sur demande fb@ai.univ-paris8.fr .