[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Multiple values for R4RS.
Ah, but I can ask (and (pair? x) (pair? (cdr x))), and if this is #t,
then I can be certain that (cddr x) won't error.
Similarly, I can ask
(and (accepts? p 3) (accepts? cons 3))
I don't see the difference.
Your argument seems to be that ACCEPTS? is an ill-defined concept ...
My argument is that "accepts?" is virtually meaningless, since it is
a superficial property of the outermost level of the procedure, and there
is no way to extend it further in. If "accepts?" returns #t, so what?
It is only meaningless if the implementor or the programmer purposely
decide to make it unusable. I listed an additional constraint that
would make ACCEPTS? valid in the cases that I'm concerned about here.
I don't care whether you chose to write all your code differently and
therefore make it unusable in YOUR code. I want to be able to use it
on implementation provided procedures and on MY procedures, which I'll
carefully write so that it is meaningful.