;samenvatting van constructors en selectors die nodig zijn :
;       (make-w-vector coordinatenlijst)
;       (coordinate nummer wvect)
;         nummer loopt van 1 tot n
;       (dimension wvect)
;
;eerst de voorstelling met lijsten
(define (make-w-vector coordinatenlijst)
  coordinatenlijst)
(define (coordinate nummer wvect)
  (define (getelement pos lst)
    (if (= pos 1)
        (car lst)
        (getelement (- pos 1) (cdr lst))))
  (if (or (< nummer 1) (> nummer (dimension wvect)))
      (error "coordinate error...")
      (getelement nummer wvect)))
(define (dimension wvect)
  (define (iter acc lst)
    (if (null? lst)
        acc
        (iter (1+ acc) (cdr lst))))
  (iter 0 wvect))
;dan nu de definitie met vectoren
(define (make-w-vector2 coordinatenlijst)
  (list->vector coordinatenlijst))
(define (dimension2 wvect)
  (vector-length wvect))
(define (coordinate2 nummer wvect)
  (if (or (< nummer 1) (> nummer (dimension2 wvect)))
      (error "coordinate-error")
      (vector-ref wvect (- nummer 1))))