> 1 <

Автор Сообщение

deadlegolas

Members


Статус

18 сообщений

Где: Ukraine
Род занятий:
Возраст:

#4078   2011-03-27 19:31 GMT+3 часа(ов)      
Не могу понять почему ошибка происходит(
при подаче параметров функции contain - error: argument stack overflow

(defun contain (a1 a2)
(cond
((equal a1 (car a2)) a1)
(T (contain a1 (cdr a2)))
)
)
 

megamanx

Members


Статус

307 сообщений

Где: Russia
Род занятий:
Возраст:

#4079   2011-03-27 19:38 GMT+3 часа(ов)      
потому что cdr nil -> nil и ветки выхода нет, ((null a2) nil)
I wish I'd made you angry earlier

misha

Moderators


Статус

1275 сообщений
http://racket-lang.org/
Где: Yemen
Род занятий:
Возраст:

#4080   2011-03-27 19:54 GMT+3 часа(ов)      
> ((null a2) nil)
Каково значение данного выражения?)

megamanx

Members


Статус

307 сообщений

Где: Russia
Род занятий:
Возраст:

#4085   2011-03-27 21:26 GMT+3 часа(ов)      
хз. Это не выражение, это ветка cond.
I wish I'd made you angry earlier

misha

Moderators


Статус

1275 сообщений
http://racket-lang.org/
Где: Yemen
Род занятий:
Возраст:

#4088   2011-03-27 23:47 GMT+3 часа(ов)      
Кстати, является ли cons-цикл списком?
> (listp #0='(1 . #0#))
T
> (shared ([x (cons 1 x)]) x)
#0='(1 . #0#)
> (list? (shared ([x (cons 1 x)]) x))
#f

megamanx

Members


Статус

307 сообщений

Где: Russia
Род занятий:
Возраст:

#4090   2011-03-28 00:37 GMT+3 часа(ов)      
Цитата
Кстати, является ли cons-цикл списком?

Сие тайна великая есть.)
Не знаю, как правильно сформулировать вопрос. Вот скажем, можно сказать, что символ не содержит ни одного свойства, до тех пор, пока его не привязали. С другой стороны можно говорить, что символ содержит всё множество всех возможных свойст, но их значение неопределено (== nil).
Дак вот вопрос о списке этом #0='(1 . #0#). Он действительно список, или он просто представляется в памяти в виде списка, а на самом деле подразумевает под собой что-то другое. И почему он не может в таком случае (если он список) быть вычислен? Надеюсь понятно объяснил).
I wish I'd made you angry earlier

misha

Moderators


Статус

1275 сообщений
http://racket-lang.org/
Где: Yemen
Род занятий:
Возраст:

#4095   2011-03-28 03:18 GMT+3 часа(ов)      
> Сие тайна великая есть.)
CL: (listp object) == (typep object '(or cons null))
Т.е. список это cons либо nil.

misha

Moderators


Статус

1275 сообщений
http://racket-lang.org/
Где: Yemen
Род занятий:
Возраст:

#4096   2011-03-28 03:38 GMT+3 часа(ов)      
Scheme:
list? эквивалентна proper-list?.
> (list? (shared ([x (cons 1 x)]) x))
#f
> (proper-list? (shared ([x (cons 1 x)]) x))
#f
> (circular-list? (shared ([x (cons 1 x)]) x))
#t
> (dotted-list? (shared ([x (cons 1 x)]) x))
#f
> (dotted-list? '(1 2 3 . 4))
#t

отредактировал(а) misha: 2011-03-28 03:52 GMT+3 часа(ов)
> 1 <


Онлайн :

0 пользователь(ей), 32 гость(ей) :