[iterate-devel] Fwd: iterate form evaluates but does not load into sbcl fasl
Mirko Vukovic
mirko.vukovic at gmail.com
Tue Feb 9 13:23:22 UTC 2010
On Mon, Feb 8, 2010 at 9:57 PM, Kalyanov Dmitry
<kalyanov.dmitry at gmail.com>wrote:
> The iterate extension is clearly wrongly written. You cannot insert non-
> externalisable value into the compiled file, in this case, functions
> compiled
> in compilation-environment. The code should be rewritten to use defuns to
> declare functions and to use symbols in defclause-sequence.
>
Dmitry,
Yesterday was the first time I encountered this externalisation issue (see
emails by Yong). So, I am still wobbly with these concepts.
Are you implying that instead of lambda forms one should define the
functions and use function names. For example, in the following form
(defclause-sequence matrix-row matrix-row-index
:access-fn
(lambda (marray index)
(check-type marray gsl:matrix)
(gsll:row marray index))
:size-fn
(lambda (marray)
(check-type marray gsl:matrix)
(c-array:dim0 marray))
:element-type t :sequence-type t
:element-doc-string "(copied) rows of a matrix"
:index-doc-string "index of the rows in a matrix")
all lambda expressions need to be replaced by function symbols. Correct?
FWIW, I could not reproduce my problem on clisp.
Mirko
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mailman.common-lisp.net/pipermail/iterate-devel/attachments/20100209/23d0bb26/attachment.html>
More information about the iterate-devel
mailing list