guile-devel
[Top][All Lists]
Advanced

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

Re: JACAL, scm


From: Tom Lord
Subject: Re: JACAL, scm
Date: Mon, 1 Oct 2001 19:13:53 -0700 (PDT)

       - make the evaluator, when evaluating Elisp, immediately convert any
         naked #eol result value to #f

An interesting and creative idea.

        - make the Elisp `cons' understand #f as its second argument (er..,
          which it does anyway, so I guess this last point doesn't really
          count).

Don't forget `setcdr'!

        [....]

       This doesn't solve the problem of the Elisp that wants to call a
       Scheme proc and distinguish between the proc returning #f and the proc
       returning #eol, 

In addition to not solving that problem, it creates new ones.

Suppose that Scheme code includes '() in a data structure, and
presumes that '() and #f are different.  It hands this data structure
to elisp code, which decomposes it and builds a new data structure.
In the new data structure, #f has replaced '().  The new data
structure is returned to Scheme code, which expects to find a value
`eq?' to the original '().

Similarly, suppose that Scheme code passes '() to an elisp function as
an argument.  The value of that argument is included in whatever the
function returns to Scheme.  Once again, #f is substituted, surprising
the Scheme code which expected the original value.

Both of these problems effect not only the elisp-in-Guile
implementation, but the use of Emacs as a front-end for Guile
applications.


-t



reply via email to

[Prev in Thread] Current Thread [Next in Thread]