+
+(define (degrees-to-radians angle)
+ (/ (* angle *pi*) 180))
+
+(define (radians-to-degrees angle)
+ (/ (* angle 180) *pi*))
+
+(define-macro (pushnew elem list)
+ `(cond ((not (find (lambda (e) (eq? e ,elem)) ,list))
+ (set! ,list (cons ,elem ,list)))))
+
+(define (assoc-multiple-set! alist . pairs)
+ (define (amset! alist pairs)
+ (cond ((< (length pairs) 2)
+ alist)
+ (else
+ (assoc-set! alist (car pairs) (cadr pairs))
+ (amset! alist (cddr pairs)))))
+ (amset! alist pairs))