Длина списка в схеме

Привет, я пытаюсь написать программу, в которой данный список списков проверяет на посмотреть, равны ли они по размеру, и вернуть #t, если они равны.

Так, например, если бы я написал (список-счетчик? '((1 2 3) (4 5 6) (7 8 9))) программа вернет #t, а (list-counter? '((1 2 3) (4 5 6) (7 8))) вернет #f.

Пока что я сделал следующее:

 (define list-counter?
  (lambda (x)
    (if (list? x)
        (if (list?(car x))
      (let (l (length (car x))))
        (if (equal? l (length(car x))))
        (list-counter?(cdr x))
 ) ) ) ) ) 

Я думаю, что я ошибаюсь после того, как я установил длину l на длину первого списка.Любая помощь будет оценена.

5
задан gestalt 22 March 2012 в 00:22
поделиться