From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.devel Subject: Re: as for Calc and the math library Date: Tue, 13 Aug 2024 16:30:44 +0300 Message-ID: <864j7oh7nf.fsf@gnu.org> References: <864j7qhup6.fsf@gnu.org> <87a5hi0yts.fsf@valhala.localdomain> <86y152ge0b.fsf@gnu.org> <875xs60wmc.fsf@valhala.localdomain> <86wmklho4m.fsf@gnu.org> <86bk1whb9v.fsf@gnu.org> <87ttfofu0r.fsf@valhala.localdomain> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="40692"; mail-complaints-to="usenet@ciao.gmane.io" Cc: arthur.miller@live.com, nicolas@n16f.net, emacs-devel@gnu.org To: Nicolas Martyanoff Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Tue Aug 13 15:31:45 2024 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 1sdrcn-000AN1-JA for ged-emacs-devel@m.gmane-mx.org; Tue, 13 Aug 2024 15:31:45 +0200 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1sdrbw-0001SF-EF; Tue, 13 Aug 2024 09:30:52 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1sdrbu-0001Rh-61 for emacs-devel@gnu.org; Tue, 13 Aug 2024 09:30:51 -0400 Original-Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1sdrbt-0004MP-Id; Tue, 13 Aug 2024 09:30:49 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-version:References:Subject:In-Reply-To:To:From: Date; bh=evEjtqUGmpNIHCuZ75WGWD3gPertJV3ShGqzgVX0gdA=; b=aLmHfrn18kfRb1ha2FKH ZLsc71OteDhH4GpOjYAt1c+TZcCVIDpHvraYG6EEoFTfrEN8narOhvKtZWdhMV03ezmUF95njFb/L 9I8wfpabFnvqmocRaq6JY3bVGnvocYnlicmC30kK+SjReehrCZTKooprm6IRMnsm4mURWSAhIrqE6 ycjk+pq6Gz7S5vfYtptYWiAuPfcvzkPtDGSzAD1bg18pCLe7dmn9ceSTUEfSRRQ9+wWLc6wlkma3L DdYx5RfEn3QduFgn9bmpYE91sQrXwiQQTLY4E64fNSv0A4H2zikRLWBZsC6NVwWtcHB0Qsar6VeZv ZU0kwzcJkHOKKA==; In-Reply-To: <87ttfofu0r.fsf@valhala.localdomain> (message from Nicolas Martyanoff on Tue, 13 Aug 2024 15:10:28 +0200) 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-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.devel:322708 Archived-At: > From: Nicolas Martyanoff > Cc: arthur miller , nicolas@n16f.net, > emacs-devel@gnu.org > Date: Tue, 13 Aug 2024 15:10:28 +0200 > > Eli Zaretskii writes: > > > AFAIU, there should be no reasons not to be able to load MIT licensed > > libraries via the emacs-module machinery. > > IIRC the reason I abandoned was that you can load a dynamic module but > there is no mechanism to reload it once modified, meaning one cannot > develop packages with dynamic modules iteratively. This is a technical problem with loading shared libraries, so it will also happen with FFI, AFAIU. In general, unloading and reloading doesn't work in Emacs well even in Lisp, less so with native-compiled Lisp. Not sure this can be improved and how, but it would be a welcome addition and enhancement. > There is also nothing in place to facilitate building these dynamic > modules as part of an Emacs package, and it is not that simple: locate C > files distributed with the package, build the library with the right > flags depending on the current platform, cache it in a place that makes > senseā€¦ That again is mostly common with any solution based on loading shared libraries. We have elaborate documentation of then interfaces for writing and using dynamic modules, but of course if someone will submit some boilerplate code to ease this, or come up with automation of some of this, I'm sure that would be welcome.