[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]


   Date: Fri, 8 Apr 88 16:16:43 PDT
   From: James Rice <Rice@sumex-aim.stanford.edu>

   Mmmm, I see what you're getting at.  Maybe it's a wimp-out
   but how about:

     It is an error to use the named structure in the definition
     of a letrec variable as an argument to a strict operator
     during the evaluation of its definition.

What is the definition of "strict operator"?  Is a user-defined
function a strict operator?

     e.g. (letrec ((foo (+ 1 foo)))   <---- error

	  (letrec ((bar (cons 42 bar)))   <--- ok.

In this case, I don't think this facility is appropriate for the
standard language.  Are there any Lisp implementations that have such
a facility?  If not, I think it would be a bad idea to suddenly thrust
it into the standard.