From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Emanuel Berg Newsgroups: gmane.emacs.devel Subject: a eieio-like interface we could use for functions (was: Re: we need *modularity* [last problem] (was: Re: as for Calc and the math library)) Date: Fri, 16 Aug 2024 19:39:21 +0200 Message-ID: <87plq8xt86.fsf@dataswamp.org> References: Mime-Version: 1.0 Content-Type: text/plain Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="17562"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) To: emacs-devel@gnu.org Cancel-Lock: sha1:S9EBTNSObjctDn7Xby18ErVMhk4= Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Fri Aug 16 19:43:00 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 1sf0ya-0004Q7-PW for ged-emacs-devel@m.gmane-mx.org; Fri, 16 Aug 2024 19:43:00 +0200 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1sf0xv-0000Vx-S5; Fri, 16 Aug 2024 13:42:20 -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 1sf0vN-0000DE-3m for emacs-devel@gnu.org; Fri, 16 Aug 2024 13:39:41 -0400 Original-Received: from ciao.gmane.io ([116.202.254.214]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1sf0vL-00031G-EN for emacs-devel@gnu.org; Fri, 16 Aug 2024 13:39:40 -0400 Original-Received: from list by ciao.gmane.io with local (Exim 4.92) (envelope-from ) id 1sf0vI-00016I-Io for emacs-devel@gnu.org; Fri, 16 Aug 2024 19:39:36 +0200 X-Injected-Via-Gmane: http://gmane.org/ Mail-Followup-To: emacs-devel@gnu.org Mail-Copies-To: never Received-SPF: pass client-ip=116.202.254.214; envelope-from=ged-emacs-devel@m.gmane-mx.org; helo=ciao.gmane.io X-Spam_score_int: -16 X-Spam_score: -1.7 X-Spam_bar: - X-Spam_report: (-1.7 / 5.0 requ) BAYES_00=-1.9, HEADER_FROM_DIFFERENT_DOMAINS=0.249, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=no autolearn_force=no X-Spam_action: no action X-Mailman-Approved-At: Fri, 16 Aug 2024 13:42:17 -0400 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:322810 Archived-At: Skip 4 paragraphs of meta-discussion: (re-search-forward "Anyway,") arthur miller wrote: > while interesting is probably unwelcome, and yet, Eli > accused me of delibarately wasting maintainers time and > energy. Yeah, too much bad blood this time. Maintainers should be busy with Emacs - and they are, I'm sure. But some spend too much time visiting and commenting almost _every one_ of my threads, crazy. There is no need, I know what you are saying by now. Some maintainers are also web cops on several of our lists. If I were them, I would focus (even) more on Emacs and less on policing these lists, and saying negative things about people who have been regulars for decades. Anyway, back to Emacs then, you remembered I said the interface programming, that that was a crazy time consumer for no reason. I found an interface in eieio - this is actually what I suggested exactly (they did it long before) - maybe some additional things are needed, but in principle - only it is much more Lispy. Fast and uniform, includes type and default and, if you know eieio better than I, I'm sure you know a lot more of those fields. Again this is better since an un-lispy syntax would scare people away and create controversy. Maybe I can get back to that issue/idea as well, then! (defclass box () ((buf :initarg :buf :type string :initform "*bad*") (xc :initarg :xc :type number :initform 12) (yc :initarg :yc :type number :initform 8))) https://dataswamp.org/~incal/emacs-init/bad.el -- underground experts united https://dataswamp.org/~incal