Ошибка схемы «кроме: неправильное использование ключевого слова импорта модуля» - PullRequest
0 голосов
/ 18 февраля 2012

Я пишу функцию, которая возвращает элементы, которые появляются в одном списке, а не в другом. Например,

(except '(a b c) '(a d b e f))

вернет '(c). Первым аргументом может быть атом, и оба предполагаются плоскими. Вот мой код:

(define (except lm ln)
  (cond ((null? ln) lm)
        ((not (list? lm))
         (cond ((in? lm ln) '())
               (#t lm)))
        ((null? lm) '())
        ((in? (car lm) ln) (except (cdr lm) ln))
        (#t (cons (car lm) (except (cdr lm) ln)))))

Затем возвращается сообщение об ошибке «кроме: неправильное использование ключевого слова для импорта модуля в: (кроме (cdr lm) ln)»

Почему это происходит?

1 Ответ

1 голос
/ 18 февраля 2012

Похоже, у вас возникла проблема с библиотекой unit , для которой определено ключевое слово except. Но все еще должно быть возможно использовать его как имя для вашей функции, поэтому я предполагаю, что что-то еще не так. Можно будет сказать больше, если вы предоставите полный код, который пытаетесь запустить.

...