Recherche…


Appellation

Lors de la programmation dans Prolog, nous devons choisir deux types de noms:

  • noms de prédicats
  • noms de variables .

Un bon nom de prédicat indique clairement ce que signifie chaque argument. Par convention, les traits de soulignement sont utilisés dans les noms pour séparer la description des différents arguments. Cela est dû au fait que underscores_keep_even_longer_names_readable , tandis que mixingTheCasesDoesNotDoThisToTheSameExtent .

Voici des exemples de bons noms de prédicats:

  • parent_child/2
  • person_likes/2
  • route_to/2

Notez que les noms descriptifs sont utilisés. Les impératifs sont évités. L'utilisation de noms descriptifs est recommandée car les prédicats Prolog peuvent généralement être utilisés dans plusieurs directions, et le nom doit également s'appliquer à tout ou aucun des arguments n'est instancié.

La capitalisation mixte est plus courante lors de la sélection des noms de variables . Par exemple: BestSolutions , MinElement , GreatestDivisor . Une convention courante pour nommer des variables qui indiquent des états successifs est d'utiliser S0 , S1 , S2 , ..., S , où S représente l'état final.

Échancrure

Il y a peu de constructions de langage dans Prolog, et plusieurs façons de les indenter sont communes.

Quel que soit le style choisi, un principe à respecter est de ne jamais placer (;)/2 à la fin d'une ligne. En effet ; et , ressemblent beaucoup, et , se produit souvent à la fin d'une ligne. Par conséquent, les clauses qui utilisent une disjonction doivent par exemple être écrites comme suit:

(  Goal1
;  Goal2 
)

Ordre des arguments

Idéalement, les prédicats Prolog peuvent être utilisés dans toutes les directions. Pour de nombreux prédicats purs, cela est également le cas. Cependant, certains prédicats ne fonctionnent que dans des modes particuliers, ce qui signifie des schémas d'instanciation de leurs arguments.

Par convention, les arguments les plus courants pour ces prédicats sont:

  • les arguments d' entrée sont placés en premier. Ces arguments doivent être instanciés avant l'appel du prédicat.
  • les paires d'arguments qui appartiennent ensemble sont placées de manière adjacente, telles que p(..., State0, State, ...)
  • les arguments de sortie prévus sont placés en dernier. Ces prédicats sont instanciés par le prédicat.


Modified text is an extract of the original Stack Overflow Documentation
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow