Я пытаюсь определить функцию dot-prod, которая принимает два списка в качестве параметров и применяет версию точечного продукта, принимая x1 * y1 + x2 * y2 и так далее. Я получил его для работы с пустым списком, но это все. Благодарю.Функция функции точка-точка двух списков
(define (dot-prod l1 l2)
(cond ((or (null? l1)(null? l2)) '())
(else
(cons (* (car l1) (car l2))
(* (cdr l1) (cdr l2))))))
Я бы сказал, что '(foldl + (map * l1 l2))' лучше, чем использовать 'apply' здесь. –