From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Ergus Newsgroups: gmane.emacs.devel Subject: Re: How to distribute dynamic modules by themselves? Date: Wed, 23 Mar 2022 23:30:13 +0100 Message-ID: <26246417-7E69-4D97-84E5-54BC0EF73588@aol.com> References: <951567BE-B2FA-4224-A369-B96469D2E083@gmail.com> <87y210apam.fsf@gnus.org> Mime-Version: 1.0 Content-Type: multipart/alternative; boundary=----YFXYF1IP92YE7CY8EXWTJHDNAF2O22 Content-Transfer-Encoding: 7bit Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="20657"; mail-complaints-to="usenet@ciao.gmane.io" Cc: Yuan Fu , Emacs developers To: emacs-devel@gnu.org, Stefan Monnier , Lars Ingebrigtsen Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Wed Mar 23 23:32:23 2022 Return-path: Envelope-to: ged-emacs-devel@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1nX9Wg-00056E-SP for ged-emacs-devel@m.gmane-mx.org; Wed, 23 Mar 2022 23:32:22 +0100 Original-Received: from localhost ([::1]:58876 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nX9Wf-0007rg-G8 for ged-emacs-devel@m.gmane-mx.org; Wed, 23 Mar 2022 18:32:21 -0400 Original-Received: from eggs.gnu.org ([209.51.188.92]:38040) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nX9Un-0006P2-23 for emacs-devel@gnu.org; Wed, 23 Mar 2022 18:30:26 -0400 Original-Received: from sonic314-14.consmr.mail.bf2.yahoo.com ([74.6.132.124]:33985) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nX9Uk-00068x-9H for emacs-devel@gnu.org; Wed, 23 Mar 2022 18:30:24 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=aol.com; s=a2048; t=1648074619; bh=OMUtt9n0og0xZigH5UPqIPJPxL7bDAb2Nc2JKAgqCtw=; h=Date:From:To:CC:Subject:In-Reply-To:References:From:Subject:Reply-To; b=ud1i/KGekuKWAvVkxDjYpQpE91zew7Vhk8MwiBfVd78oAM6UFFAr08ZARj72PPos8Ro3OpH9aqD9gR9gj6cr/8a+UXZWcB4btx3SrnUzJMUdOv2TbzM0p3rLlFBWG66AjBMsCfk6XBGa1DM0Un5/Hqz9QwX6iA2cJH5CqxOs8sYJbvR3vSn8vbMWm7S0u3YbOykByT3g5MequrYpAg22yZVmLew+pYUnPlTe0ESXv8VHeuFv+Jrr88iX2XkcaOuSgXbDaCu9PJtyv1Tq2eVZRsSW4smR2lUuIHcyjAFZI53OJj5qn2t38wwiyE2e+uXir0BAupTtHPCZ2rfG5y46JQ== X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1648074619; bh=SmGTI1aXmgd5lYXeR8UI+K/sC4jo8U8ZTLd5A9nE2Uj=; h=X-Sonic-MF:Date:From:To:Subject:From:Subject; b=g+BtjM7nM4pdcg1lzImDkL34zSGDEZKOqxuSQNgIbboBQ215WNIL8Lzww3qTgTKjY6KkTHiqftP7JaGyqHd8na9VkRBDRC25lmpw/Bse9v9JiRWvBgAT7qrRgjUPyr8MoGPEKNSOlaUN8dKoqei/wTkDjmvR8tIqR2Dv18MJNvIExsCNfEKbalRrqeRKkCHPL5DOIMICiPna9hkcYHDzhb1/jqc06iNoE1ORF1HX+NbFd2QDe1d1zaDmWXBs5POeVR8J8/hNiSyWKe/NIhoBq4XdC2u7ZYg1mpKQty4rc59hp6gG2HSqYl5CbeuywGxKdtq1wF8yesSne6X1h/5B6A== X-YMail-OSG: .Z6m_Q8VM1kpJ2sSArdMVLGeSJjOLfw1a75JIDRBXAKwaa7WT7O.rTiYEw..ICu jRXT4GYJ0qQAQNktsSb5xvXly8A4n5bf8S3u0VeUPkJ0GdcJfumd17ijf.gVcAGh2GVUJJ0HaaTZ QQD2jZIxaibDj5yUWmay6spS7IVBG51E3qrHXtSPfQf4PXuOCekg8RyYw7uH.UgB2ud_jtnAbp0D iKz_wxBTkPFlIm4UG1JK.irpEOLW4RE8LjfVJNqporfeciFMtZ0uNTfCqnRiZfIqGuIcOnZeZ_rB u1w7si1AzScATCf5hM3ph1_ifIL9_6_wbRVcKP1.cCcubO1Yw5Hsp6vbbiJIx17fg6vQBqF2i1d3 VzWOfqC44cIMo7R2m8JQj1pp4YHKhKiH5gicvjEiBzVip8BRznRYPLcshCKkt5TWyjlpg._j4NSM iGjVH9.9MrYKbZBh6olaNyFyzCXXJ7zKc4WNeoDIWGTFVUn.2e6gdtDh2ppkGGJwR9jyBtiEkaG. khih5xx5jgaKgiGLevRB2n_TpA1f1FwaEqgfTqLBQr_rdjn03tUYzhb64ys3c_8XamdYqXwhhZev l5lQHdnzi3BsGCMD48sNnIt24bi4DZiQxXt0ZbPwI5u8WsKwYyuZ3.IGT0K57XMAiz3TCQ4U7t81 J8eiE5_DHLU0IU4qMcyyps6tifatzBjMtUa6T4m3cWraxw2AAoOzzDmW546AQzIJVOf_HUH9Up9I _EO4u.OT_Ce5.b4Ef29vRjThahGcGgjwc.7k4SmZK9bqxH8QCSv_dfbOeHT5jycE0yUJwVYR9bhf hS3dcxvUgbTupGMB7poBIilT4nN4qlS0OkiEAgpD.f X-Sonic-MF: Original-Received: from sonic.gate.mail.ne1.yahoo.com by sonic314.consmr.mail.bf2.yahoo.com with HTTP; Wed, 23 Mar 2022 22:30:19 +0000 Original-Received: by kubenode516.mail-prod1.omega.ir2.yahoo.com (VZM Hermes SMTP Server) with ESMTPA ID c4f89d9e5afc74265781afb676053838; Wed, 23 Mar 2022 22:30:18 +0000 (UTC) In-Reply-To: X-Mailer: WebService/1.1.19894 mail.backend.jedi.jws.acl:role.jedi.acl.token.atz.jws.hermes.aol Received-SPF: pass client-ip=74.6.132.124; envelope-from=spacibba@aol.com; helo=sonic314-14.consmr.mail.bf2.yahoo.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.29 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-mx.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.io gmane.emacs.devel:287403 Archived-At: ------YFXYF1IP92YE7CY8EXWTJHDNAF2O22 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable In melpa there are some others=2E The most interesting one IMO is the vterm= one=2E That does the compilation on demand=2E=20 On March 23, 2022 11:16:43 PM GMT+01:00, Stefan Monnier wrote: >Lars Ingebrigtsen [2022-03-23 12:20:17] wrote: >> Yuan Fu writes: >>> Is there any way to put a dynamic module on ELPA so that other >>> packages could use it conveniently? >> I'm not quite sure what the state of dynamic modules on ELPA is=2E >> Stefan? > >Currently, there's only one such module,m i=2Ee=2E `pq`=2E >It's not well integrated yet=2E >The way it's supposed to work (after Someone=E2=84=A2 codes it up) is tha= t >during `package-install` a chunk of ELisp in the attempts to compile >the module=2E > >Then the same chunk of ELisp should (re)compile the module as/when >needed when the ELisp package is loaded=2E Ideally, this is done from >a function, so it's not done when the package is barely loaded but when >that function is actually called (which is a more convincing evidence >that the module is needed)=2E > >Regarding distributing pre-compiled modules, there's currently no >infrastructure for that=2E We could consider it, but it can only be >a partial solution (we can't easily make sure we cover all possible >architecures, =2E=2E=2E), so the focus for now is in getting the >automated/lazy-compilation working=2E > > > Stefan > > --=20 Sent from my Android device with K-9 Mail=2E Please excuse my brevity=2E ------YFXYF1IP92YE7CY8EXWTJHDNAF2O22 Content-Type: text/html; charset=utf-8 Content-Transfer-Encoding: quoted-printable In melpa there are some others=2E The most interes= ting one IMO is the vterm one=2E That does the compilation on demand=2E



On March 23, 2022 11:16:43 PM G= MT+01:00, Stefan Monnier <monnier@iro=2Eumontreal=2Eca> wrote:
Lars Ingebrigtsen [2022-03-23 12:20:17]=
 wrote:
Yuan Fu <cas= ouri@gmail=2Ecom> writes:
Is there any way to put a dynamic module on ELPA so that other
pac= kages could use it conveniently?
I'm not quite sure what th= e state of dynamic modules on ELPA is=2E
Stefan?

Cur= rently, there's only one such module,m i=2Ee=2E `pq`=2E
It's not well in= tegrated yet=2E
The way it's supposed to work (after Someone=E2=84=A2 co= des it up) is that
during `package-install` a chunk of ELisp in the atte= mpts to compile
the module=2E

Then the same chunk of ELisp should= (re)compile the module as/when
needed when the ELisp package is loaded= =2E Ideally, this is done from
a function, so it's not done when the pa= ckage is barely loaded but when
that function is actually called (which = is a more convincing evidence
that the module is needed)=2E

Regar= ding distributing pre-compiled modules, there's currently no
infrastruct= ure for that=2E We could consider it, but it can only be
a partial solu= tion (we can't easily make sure we cover all possible
architecures, =2E= =2E=2E), so the focus for now is in getting the
automated/lazy-compilati= on working=2E


Stefan


-- Sent from my Android device with K-9 Mail=2E Please excuse my brevity=2E<= /div>
------YFXYF1IP92YE7CY8EXWTJHDNAF2O22--