#lang htdp/isl+
(define (dot v w)
(cond
[(empty? v) 0]
[else (+ (* (first v) (first w))
(dot (rest v) (rest w)))]))
(check-expect (dot '(1 1 1) '(1 2 3)) 6)
(check-expect (dot '(2 2 2) '(1 2 3)) 12)
(check-expect (dot '(-1 -2 3) '(1 2 3)) 4)
(check-expect (dot '(1 0 1) '(0 1 0)) 0)
(check-expect (dot (range 1 101 1) (make-list 100 2)) 10100)