J'ai un soucis en LISP. J'ai une base de règles du type :
(x<4-y,y>0) -> (x+y,0)
Donc en LISP ça donne :
((< x 4) (> y 0) (+ x y) 0)
Et je prends le car, cadr, caddr et cadddr.
Sauf que j'aimerais pouvoir évaluer ça de manière différente.
Je m'explique :
J'ai une après, qui prend en paramètre un état définit comme étant (x y). Et cette fonction doit aller vérifier dans ma base de règles si, par exemple, (< x 4) et (> y 0) sont vrais et me renvoyer (+ x y) et 0.
Sauf que je vais pas définir de variables globales x et y que je modifierais à chaque fois, puisque j'ai un paquet d'autres fonctions derrière, qui fonctionnent en récursivité.
Je fais donc des appels à mes fonctions de la façon suivante :
(fonction '(0 2)) par exemple.
Et là, avec ce (0 2), il faudrait pouvoir aller vérifier dans ma base de règles.
Comment faire ?
Merci de m'avoir lu, et j'espère que c'était pas trop embrouillé 