From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Vibhav Pant Newsgroups: gmane.emacs.devel Subject: Re: Adding c/c++ scripting Date: Tue, 26 Jan 2016 23:29:23 +0530 Message-ID: References: NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: multipart/alternative; boundary=001a1136b2d6127c49052a407232 X-Trace: ger.gmane.org 1453831172 6206 80.91.229.3 (26 Jan 2016 17:59:32 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Tue, 26 Jan 2016 17:59:32 +0000 (UTC) Cc: "emacs-devel@gnu.org" To: Tom Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Tue Jan 26 18:59:32 2016 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1aO7tr-0008SZ-I5 for ged-emacs-devel@m.gmane.org; Tue, 26 Jan 2016 18:59:31 +0100 Original-Received: from localhost ([::1]:45520 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aO7tq-0003Ws-Vh for ged-emacs-devel@m.gmane.org; Tue, 26 Jan 2016 12:59:31 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:49463) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aO7tl-0003TR-O2 for emacs-devel@gnu.org; Tue, 26 Jan 2016 12:59:26 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1aO7tk-0004LO-Lm for emacs-devel@gnu.org; Tue, 26 Jan 2016 12:59:25 -0500 Original-Received: from mail-ig0-x233.google.com ([2607:f8b0:4001:c05::233]:35744) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aO7tk-0004Kf-Fg for emacs-devel@gnu.org; Tue, 26 Jan 2016 12:59:24 -0500 Original-Received: by mail-ig0-x233.google.com with SMTP id t15so64916266igr.0 for ; Tue, 26 Jan 2016 09:59:24 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=m8ZEBO7ZhtIoLEUu4WWz3dZ3wExdESWlY64IV2O6caM=; b=FyQ5Y3AExaOt/xwBC1gwu2uQzUu1ynQKtCpbGAVP2uxd1Nx1hCJGK401ah1M8LzwnS 9TJuXlDAAjCVuamcREd91SPr6S2SA5kslHwfBWNzuV1u0e1W3bY/ooNB/78m7dsNqxX0 5SLw6wX8+1oXyv9rLbnRJfcERbXNU7Ttc9c94tIFPegGn70AZkin0b9LEotMGk6WXuXN pAz4PmyXCtlr7CQ9eZMnAVotZs3fagb5DiCyWoJLSJrRNiOcDIRKn2pZLd78lN5z5Tgk 26KKKV4QLo1FKM1M3aWEJWxJs+UbzzzwnggdUNeM0XXRL+C+61Hvbs653/TVEnj3+ttn Vmjg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:date :message-id:subject:from:to:cc:content-type; bh=m8ZEBO7ZhtIoLEUu4WWz3dZ3wExdESWlY64IV2O6caM=; b=D+RhBJW+xNUE5fr3QAoQ5HpRWSmanq9J/D1uGV1GEz9LVEl/nWpFHUtbW43I1nr65Q GdQPyT22zAE4I/D0lkkPr7UcUpVAbwp8WKz0bjNcCu147VkeihJhXgfgK+/VLXJv80CI P5j8TfzwvtbVWI/BJT0w7kZwPzPaE5O3LdJ00M+4NumMsiNz4jYSJuGKS0MbfIfHfY68 97XiwpP2B3w4EAFIasXX5GE4DD66ncQufoG7M7UGBQsvfccSrChcbwT2JUyM1x/7cK+P qd0kVzR06/3Vum+yH0G8iLLbF6KQH6bwnv9XNcomYT1etad7N89XJLiSeeAhoy4Z7XPv 0YHA== X-Gm-Message-State: AG10YOTZuZ2BmydvQFUCGW7M+Ja5ohKs1Z8wkSoUWfWLgSvlNRYncqRdsqXs+QABeU7foPRk0ICXUUcPYEmgpw== X-Received: by 10.50.156.103 with SMTP id wd7mr25818053igb.5.1453831163638; Tue, 26 Jan 2016 09:59:23 -0800 (PST) Original-Received: by 10.79.17.132 with HTTP; Tue, 26 Jan 2016 09:59:23 -0800 (PST) In-Reply-To: X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2607:f8b0:4001:c05::233 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:198868 Archived-At: --001a1136b2d6127c49052a407232 Content-Type: text/plain; charset=UTF-8 Don't know if it's relevant, but I was able to embed the Python interpreter into Emacs with dyanmic modules. It's still very clunky, since you either have to use a FFI, or expose functions in emacs_env to Python. Python also doesn't have access to a "global" environment, so Python statements have to executed inside a elisp "exec-python" call. Embedding another language at such a low level would probably require modification of the Emacs source instead. On Sun, Jan 24, 2016 at 11:05 AM, Tom wrote: > Xue Fuqiao gmail.com> writes: > > > > PS: Personally, I like Neovim's plugin architecture. With the msgpack > > API, you can even use C#/Ruby/JavaScript/... to write plugins. > > > > Does it support calling, for example, a function defined in a C# > plugin from a Javascript plugin? Because that is the important > thing that you could write a plugin in any language and use the > resulting code from any other language. > > If it's not possible then these plugins are just isolated pieces > of code which is much less useful. > > > -- Vibhav Pant vibhavp@gmail.com --001a1136b2d6127c49052a407232 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
Don't know if it's relevant, but I was able to emb= ed the Python interpreter into Emacs with dyanmic modules. It's still v= ery clunky, since you either have to use a FFI, or expose functions in emac= s_env to Python. Python also doesn't have access to a "global"= ; environment, so Python statements have to executed inside a elisp "e= xec-python" call. Embedding another language at such a low level would= probably require modification of the Emacs source instead.

On Sun, Jan 24, 2016 at 11:= 05 AM, Tom <adatgyujto@gmail.com> wrote:
Xue Fuqiao <xfq.free <at> gmail.com&= gt; writes:
>
> PS: Personally, I like Neovim's plugin architecture.=C2=A0 With th= e msgpack
> API, you can even use C#/Ruby/JavaScript/... to write plugins.
>

Does it support calling, for example, a function defined in a C#
plugin from a Javascript plugin? Because that is the important
thing that you could write a plugin in any language and use the
resulting code from any other language.

If it's not possible then these plugins are just isolated pieces
of code which is much less useful.





--
--001a1136b2d6127c49052a407232--