unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
* FFI again
@ 2013-10-05 16:11 Stefan Monnier
  2013-10-05 16:24 ` joakim
                   ` (3 more replies)
  0 siblings, 4 replies; 22+ messages in thread
From: Stefan Monnier @ 2013-10-05 16:11 UTC (permalink / raw)
  To: emacs-devel

As you may remember, I'd really like for Emacs to grow some kind of FFI.
Last time we discussed it, I mostly remember the following points being made:
- An FFI can be a lot of work, and the benefit is not as obvious as it seems.
- Emacs-Guile would give us an FFI for free.
- The xwidget branch indirectly gives us some limited FFI.

The Emacs-Guile route seems promising, but I'm not sure I want to depend
on its schedule.  The xwidget one seems a bit too limited for my taste.
And I surely don't want to put a lot of work into it.

So I'd like an FFI, but one that's really cheap to design/implement.

The main purpose of an FFI, as far as I'm concerned, it to make it
possible for Emacs to use any .so library it feels, rather than only the
ones that it was compiled with.  More specifically, so that ELPA
packages can use such .so libraries if they feel like.

I think a "cheapish" way to do that is to make it possible for an ELPA
package to come with a .c file that exports a "syms_of_module" function
that can call things like defsubsr.

Installing such an ELPA package would require running a C compiler,
obviously (unless we also provide some pre-compiled versions for
particular target systems?).  And we'd need to add some function that
can load the resulting compiled object (along with the .so libraries it
depends on, since in many cases the whole purpose would be to call
functions in those .so libs).

It's not ideal, but it should be reasonably cheap to implement, and
would let people get access to pretty much any library they want.


        Stefan



^ permalink raw reply	[flat|nested] 22+ messages in thread

end of thread, other threads:[~2013-10-08  7:14 UTC | newest]

Thread overview: 22+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-10-05 16:11 FFI again Stefan Monnier
2013-10-05 16:24 ` joakim
2013-10-05 22:18   ` Stefan Monnier
2013-10-05 22:33     ` joakim
2013-10-06 16:39       ` Stefan Monnier
2013-10-06 16:54         ` Eli Zaretskii
2013-10-06 18:17           ` Stefan Monnier
2013-10-06 19:04             ` Eli Zaretskii
2013-10-07  1:41         ` Stephen J. Turnbull
2013-10-07  3:29           ` Stefan Monnier
2013-10-07  4:34             ` Stephen J. Turnbull
2013-10-07  4:58               ` Stefan Monnier
2013-10-07 22:14                 ` Andy Moreton
2013-10-07 22:47                   ` Stefan Monnier
2013-10-08  6:54                     ` Eli Zaretskii
2013-10-08  2:22                   ` Stephen J. Turnbull
2013-10-08  2:47                   ` Richard Stallman
2013-10-08  5:33                     ` Stephen J. Turnbull
2013-10-08  7:14                       ` Eli Zaretskii
2013-10-05 17:07 ` Eli Zaretskii
2013-10-05 23:24 ` Daniel Colascione
2013-10-06 19:19 ` Richard Stallman

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).