unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
* FFI in Emacs
@ 2012-06-27 23:36 Aurélien Aptel
  2012-06-27 23:47 ` Glenn Morris
  0 siblings, 1 reply; 44+ messages in thread
From: Aurélien Aptel @ 2012-06-27 23:36 UTC (permalink / raw)
  To: Emacs development discussions

Hi all,

I know this subject has already been discussed in the past but the
people involved and their opinions may have changed since then.

For those who don't know, a Foreign Function Interface is basically a
way to use code from one language in another. More on wikipedia [1].
Here, it's calling dynamically C code from Emacs-Lisp. Dynamically,
means without the need to recompile/link Emacs. One could use a
function in a C library from ELisp just by knowing its prototype.

It has already been done in SXEmacs [2] (a fork of a fork of GNU
Emacs) and I think I've heard on IRC that someone ported it but it was
never merged or suffered from bitrot. By the way, SXEmacs also has
some very nice features like raw strings (= more readable regex), new
data structures (skip lists, double linked list, ...) or compiled
regex that could be ported.

All in all, FFI is a really cool feature. The only real problem is
that some people (and particularly Dr. Stallman) think that a FFI
might lead to the development of proprietary plugins. Someone could
write a nice plugin, only give away a compiled version of the plugin
and an elisp wrapper. Not so long ago, there was a similar problem
with GCC that you might have heard about. GCC did not provide any
plugin interface for the same fear of having a proprietary plugin. It
all changed in the 4.5 release (2010) and you can know write a plugin
without recompiling GCC.
I think transition to GPLv3 has a lot to do with this change because
the new license is more secure (legally speaking) and covers more
cases that used to be problematic in v2. Maybe it's time to do the
same for Emacs and start moving forward.

1: http://en.wikipedia.org/wiki/Foreign_function_interface
2: http://www.sxemacs.org/



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

end of thread, other threads:[~2013-03-23 18:33 UTC | newest]

Thread overview: 44+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-06-27 23:36 FFI in Emacs Aurélien Aptel
2012-06-27 23:47 ` Glenn Morris
2012-06-28  0:03   ` John Wiegley
2012-06-28  2:12     ` Glenn Morris
2012-06-28  3:43       ` Stefan Monnier
2012-06-28  4:51         ` John Wiegley
2012-06-28 15:27           ` Nix
2012-07-11  5:24         ` John Wiegley
2012-07-11  5:53           ` Helmut Eller
2012-07-11  6:43           ` Michael Albinus
2012-07-11 14:04             ` Burton Samograd
2012-07-11 14:07               ` Burton Samograd
2012-07-11  7:14           ` Stephen J. Turnbull
2012-07-11  7:44             ` Michael Albinus
2012-07-11 16:11             ` Eli Zaretskii
2012-07-11 17:08               ` Samuel Bronson
2012-07-11 17:49                 ` Eli Zaretskii
2012-07-11 18:23                   ` Stephen J. Turnbull
2012-07-11 18:30                     ` Eli Zaretskii
2012-07-11 16:05           ` Eli Zaretskii
2012-07-12 13:55           ` Stefan Monnier
2012-07-12 17:01             ` Samuel Bronson
2012-07-12 18:54             ` John Wiegley
2012-07-12 23:19             ` Sam Steingold
2012-07-13  2:20               ` Óscar Fuentes
2012-07-13  3:21                 ` Stephen J. Turnbull
2012-06-28  6:20       ` joakim
2012-07-11  9:40         ` joakim
2012-08-25 17:25           ` Aurélien Aptel
2012-08-25 18:20             ` joakim
2012-08-26  8:57               ` Ivan Kanis
2012-08-26 13:11                 ` joakim
2013-03-12 19:16             ` Aurélien Aptel
2013-03-12 21:50               ` Eli Zaretskii
2013-03-12 22:40                 ` Pascal J. Bourguignon
2013-03-13  7:41                   ` Andreas Schwab
2013-03-12 22:53                 ` Aurélien Aptel
2013-03-13  0:31                   ` Daniel Colascione
2013-03-13  3:55                   ` Eli Zaretskii
2013-03-22 19:44               ` BT Templeton
2013-03-23  1:51                 ` Leo Liu
2013-03-23  2:04                   ` Noah Lavine
2013-03-23 16:07                 ` Stefan Monnier
2013-03-23 18:33                   ` Yagnesh Raghava Yakkala

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).