Плохая специальная форма схемы let

Я пытаюсь написать программу-схему, которая Кратчайший алгоритм Дейкстры. В процедуре, когда я расслабляю ребра, я получаю сообщение об ошибке

;Неправильная специальная форма: (let (...) ())

Код моей процедуры:

(define relax-over-edge 
   (lambda (distlist edge min-pair)
     ( if (null? distlist)
       ()
       (if (equal? (cadr edge) (caar distlist)) 
            (if (> (cdar distlist) (+(cdr min-pair) (cddr edge)))
                (let (((cdar distlist) (+ (cdr min-pair) (cddr edge)) )) ())
                ()
            )
            (relax-over-edge (cdr distlist) edge min-pair)
        )
     )  
   )
)

Большое спасибо уже.

0
задан KlaatuSama 12 May 2012 в 22:48
поделиться