/* prodotto.pro */
/* esempio vari tipi argomenti e stampa */
/* scrivere GOAL:valori(intero,intero) */

domains
 numero = integer
predicates
 calcola(numero)
 valori(numero,numero)
clauses
 calcola(0).
 calcola(X) if
  X>0,
  Y=X-1,
  calcola(Y).
 valori(X,Y) if
  S=X*Y,             /* operazione */
  write("valori......",X,"..",Y,".."),
  write("risultato...",S,"..."),
  calcola(S).
     
¦Goal: valori(4,5)           ¦
¦valori......4..5..risultato.¦
¦..20...True                 ¦
¦Goal: valori(10,20)         ¦
¦valori......10..20..risultat¦
¦o...200...True              ¦
¦Goal: valori(2,4)           ¦
¦valori......2..4..risultato.¦
¦..8...True                  ¦
¦Goal:                       ¦

ritorna