[Lisp][Débutant] Erreur incompréhensible "expected procedure"
(Re)Bonjour,
Encore un problème
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
|
( define (addr ltc)
(cond ( (null? (cdr ltc) ) ltc)
(else(
(addr (
append (
cons
(
cons
( + ( car (car ltc) ) (car (car (cdr ltc) ) ) )
(cons (+ (car (cdr (car ltc) ) ) ( car (cdr (car (cdr ltc) ) ) ) ) ())
)
()
)
(cdr (cdr ltc) )
)
) ) ) ) <- probleme) |
Je suis désolé pour l'indentation , j'ai vraiment du mal à en trouver une claire pour ce langage.
Ce programme fait l'addition des termes d'une A-liste et retourne une a-liste d'un seul terme
Exemple :
(addr '( ( 2 3)(3 6)(5 6)))
retourne :
((10 15))
Le programme s'exécute pas trop mal (il crée la liste finale) mais impossible de la retourner ! Le debugueur m'indique une erreur à la parenthèse indiquée.
Dr Sheme indique :
Citation:
procedure application: expected procedure, given: ((10 15)) (no arguments)
Merci à vous !