(define (delq item lis) (let ((l)) (if (null? lis) (set! l '()) (begin (set! l (car lis)) (set! lis (cdr lis)) (while (not (null? lis)) (if (not (= item (car lis))) (set! l (append l (list (car lis)))) ) (set! lis (cdr lis)) ) ) ) l ) )