[Ecls-list] defentry problems [0.9]
worm
worm at arrakis.es
Thu May 8 05:49:08 UTC 2003
[Sorry for this late answer, but I am right now in another conference
with very limited access to mail.]
My excuse: this problem with DEFENTRY was reported long ago, but it
was not done as a bug report in sourceforge, and therefore I forgotted
it :-)
The cause: DEFENTRY and DEFCFUN were commented out in the original
release of ECL. I did not uncomment them, because there were some
things which bothered me: for instance, passing strings was made by
simply giving the C routine access to the data inside the lisp string,
without copying, or any other security measure.
This inherent insecurity, made me intentionally forget DEFENTRY.
However, I now believe that it is the user's responsibility to deal
with these problems (Interfacing to C is an ugly business anyway, it
is normally done by moderately clever and responsible people :-).
Therefore, and to solve the problem that my UFFI-compatible FFI is not
finished, I will submit ASAP a patch which reactivates DEFENTRY.
BTW, the same business may be achieved with DEFCBODY (Which is also
unsafe). Just look at the manual.
Best regards,
Juanjo
----- Mensaje Original -----
Remitente: Stig E Sandoe <stig at langband.org>
Fecha: Lunes, Mayo 5, 2003 12:27 pm
Asunto: [Ecls-list] defentry problems [0.9]
> hei,
>
> I tried to get ffi working with ECL but I seem unable to get it
> working. I follow the example in the docs:
>
> kb.lsp:
> ------
> (in-package :cl-user)
>
> (clines "
> int buffy(int val)
> return val + val;
> }
> ")
>
> (ffi:defentry buffy (ffi:int) (ffi:int "buffy"))
>
> -----
>
> The interpreter stumbles on it, so I tried to compile it:
>
> $ /local/tmp/bin/ecl -compile kb.lsp
> ;;; Loading "/local/tmp/lib/ecl/cmp.so"
> ;;; Warning: PROCLAIM is being redefined.
> ;;; Warning: COMPILE-FILE-PATHNAME is being redefined.
> ;;; Warning: COMPILE-FILE is being redefined.
> ;;; Warning: COMPILE is being redefined.
> ;;; Warning: DISASSEMBLE is being redefined.
> ;;; Warning: WITH-COMPILATION-UNIT is being redefined.
> ;;; Compiling kb.lsp.
> ;;; Compiling (FFI:DEFENTRY BUFFY ...).
> ;;; The macro form (FFI:DEFENTRY ...) was not expanded successfully.
> ;;; You are recommended to compile again.
> ...
>
>
> So how can I make ECL call C-code (both inline and in other
> libraries)?
> (System: Debian Linux/x86, 2.4.20, glibc2.3, ECL v0.9 from source)
>
> --
> ------------------------------------------------------------------
> Stig E. Sandø stig at langband.org http://www.langband.org/
>
>
> -------------------------------------------------------
> This sf.net email is sponsored by:ThinkGeek
> Welcome to geek heaven.
> http://thinkgeek.com/sf
> _______________________________________________
> Ecls-list mailing list
> Ecls-list at lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/ecls-list
>
More information about the ecl-devel
mailing list