From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED.blaine.gmane.org!not-for-mail From: Jean-Christophe Helary Newsgroups: gmane.emacs.devel Subject: Re: list of elisp primitives ? Date: Sun, 22 Dec 2019 13:14:41 +0900 Message-ID: <5E53A27C-7C86-4275-AC12-9799C3CB1956@traduction-libre.org> References: <627F3815-987E-4E82-8118-EE559CA7721F@traduction-libre.org> Mime-Version: 1.0 (Mac OS X Mail 13.0 \(3608.40.2.2.4\)) Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Injection-Info: blaine.gmane.org; posting-host="blaine.gmane.org:195.159.176.226"; logging-data="92192"; mail-complaints-to="usenet@blaine.gmane.org" To: Emacs developers Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Sun Dec 22 05:15:07 2019 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([209.51.188.17]) by blaine.gmane.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.89) (envelope-from ) id 1iise0-000Nmy-2y for ged-emacs-devel@m.gmane.org; Sun, 22 Dec 2019 05:15:04 +0100 Original-Received: from localhost ([::1]:44228 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iisdx-0003j7-Ta for ged-emacs-devel@m.gmane.org; Sat, 21 Dec 2019 23:15:01 -0500 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:47454) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iisdr-0003j0-Al for emacs-devel@gnu.org; Sat, 21 Dec 2019 23:14:56 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iisdo-0003Sx-70 for emacs-devel@gnu.org; Sat, 21 Dec 2019 23:14:54 -0500 Original-Received: from relay11.mail.gandi.net ([217.70.178.231]:44305) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1iisdo-0003ON-17 for emacs-devel@gnu.org; Sat, 21 Dec 2019 23:14:52 -0500 Original-Received: from [172.20.10.2] (KD182251133189.au-net.ne.jp [182.251.133.189]) (Authenticated sender: jean.christophe.helary@traduction-libre.org) by relay11.mail.gandi.net (Postfix) with ESMTPSA id 6F13C100002 for ; Sun, 22 Dec 2019 04:14:47 +0000 (UTC) In-Reply-To: X-Mailer: Apple Mail (2.3608.40.2.2.4) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 217.70.178.231 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.23 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" Xref: news.gmane.org gmane.emacs.devel:243556 Archived-At: What I'm trying to do is this: > I was thinking that because of the sheer amount of functions in the = elisp reference, it might be much easier to start programming with the = primitives to understand how elisp works at its core, and then climb the = ladder when need arises... i.e. trying to find a limited subset of functions that one can use to = program in elisp and do non-trivial things but that do not involve = searching the reference at all times. I'm thinking like in standard learners dictionaries, there are clear = indications, like asterisks, that tell the learner whether the word is = basic (generally about 2000 words) or intermediate (about 4000 words). People who know the basic words can get by and express most of what they = need to express in daily life. For ex, it is estimated that there are about 140k words in French, but = daily use only requires 1k. Let's lower the number of passively known = words to 40k, that's 50 functions in Elisp... JC > On Dec 22, 2019, at 12:52, Eduardo Ochs wrote: >=20 > Hi Jean-Christophe, > What are you trying to do? > If you'd like to discuss by IRC in #emacs at Freenode I'm edrx = there... > [[]], E. >=20 >=20 > On Sun, 22 Dec 2019 at 00:44, Jean-Christophe Helary = wrote: > Thank you Eduardo. >=20 > That's 1290 functions... >=20 > The reference seems to have 1608 functions and 294 commands, so those = primitives are not even a "useful subset" of emacs lisp functions... >=20 > I guess that was a na=C3=AFve idea. So I'll just have to go through = the reference and try to find myself a minimaly useful subset (which is = what the Intro should be about, btw.) >=20 > > On Dec 22, 2019, at 12:21, Eduardo Ochs = wrote: > >=20 > > Try this: > >=20 > > (defun fboundp-and-subrp (symbol) > > (and (fboundp symbol) (subrp (symbol-function symbol)))) > >=20 > > (setq my-primitives (apropos-internal "^.*$" 'fboundp-and-subrp)) > >=20 > > (defun my-describe (symbol) (format "(describe-function '%S)\n" = symbol)) > >=20 > > (insert (mapconcat 'my-describe my-primitives "")) > >=20 > >=20 > > On Sun, 22 Dec 2019 at 00:01, Jean-Christophe Helary = wrote: > > Is there a list of elisp primitive functions defined in C somewhere = ? > >=20 > > I was thinking that because of the sheer amount of functions in the = elisp reference, it might be much easier to start programming with the = primitives to understand how elisp works at its core, and then climb the = ladder when need arises... > >=20 > >=20 > >=20 > > Jean-Christophe Helary > > ----------------------------------------------- > > http://mac4translators.blogspot.com @brandelune