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.tangents Subject: Re: [External] : Re: Shrinking the C core Date: Fri, 15 Sep 2023 18:17:30 +0200 Message-ID: <87cyyje7hh.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="12895"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) To: emacs-tangents@gnu.org Cancel-Lock: sha1:igXiM9J5E+9mm0clTb5vk/pTLsE= Original-X-From: emacs-tangents-bounces+get-emacs-tangents=m.gmane-mx.org@gnu.org Fri Sep 15 20:34:55 2023 Return-path: Envelope-to: get-emacs-tangents@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 1qhDeZ-000334-B3 for get-emacs-tangents@m.gmane-mx.org; Fri, 15 Sep 2023 20:34:55 +0200 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qhDeA-00086w-4q; Fri, 15 Sep 2023 14:34:30 -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 1qhBVm-0002W0-Jx for emacs-tangents@gnu.org; Fri, 15 Sep 2023 12:17:42 -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 1qhBVk-0008Fm-MR for emacs-tangents@gnu.org; Fri, 15 Sep 2023 12:17:42 -0400 Original-Received: from list by ciao.gmane.io with local (Exim 4.92) (envelope-from ) id 1qhBVi-0006Hq-VP for emacs-tangents@gnu.org; Fri, 15 Sep 2023 18:17:38 +0200 X-Injected-Via-Gmane: http://gmane.org/ Mail-Followup-To: emacs-tangents@gnu.org Mail-Copies-To: never Received-SPF: pass client-ip=116.202.254.214; envelope-from=get-emacs-tangents@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 autolearn=no autolearn_force=no X-Spam_action: no action X-Mailman-Approved-At: Fri, 15 Sep 2023 14:34:25 -0400 X-BeenThere: emacs-tangents@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Emacs news and miscellaneous discussions outside the scope of other Emacs mailing lists List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-tangents-bounces+get-emacs-tangents=m.gmane-mx.org@gnu.org Original-Sender: emacs-tangents-bounces+get-emacs-tangents=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.tangents:1092 Archived-At: Arthur Miller wrote: > Yes indeed; and I agree with what you wrote in your longer > second mail about that. They do lessen the need for more > functions which means less API surface to document and > potentially lookup and learn. Isn't a good example that > window functions that I wanted to make into same once in the > context of help/info patch? I don't remember which it were > tbh :). Something with selecting window on just current > frame or all frames or something like that. I think, in general and ranked from best to worse, 1. Many functions, all with few arguments 2. One function with not-that-many optional arguments 3. One function with keyword arguments 4. One function with too many optional arguments Documentation is not a problem for case 1 since small functions with clear names and few arguments typically requires just 1~3 lines of documentation. This documentation is also easy to browse, you won't have to navigate the help buffer or search it for what an argument or keyword does, written far below somewhere in the text. -- underground experts united https://dataswamp.org/~incal