ダイクストラの最短アルゴリズムであるスキーム プログラムを作成しようとしています。エッジをリラックスさせているときの手順で、エラーが発生します
; 不正な特殊フォーム: (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)
)
)
)
)
既にありがとうございます。