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:38:10 +0900 Message-ID: <9152AA21-9F3A-40F2-A9AD-4F6462831772@traduction-libre.org> References: <627F3815-987E-4E82-8118-EE559CA7721F@traduction-libre.org> <5E53A27C-7C86-4275-AC12-9799C3CB1956@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="182775"; 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:38:43 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 1iit0t-000lRr-6V for ged-emacs-devel@m.gmane.org; Sun, 22 Dec 2019 05:38:43 +0100 Original-Received: from localhost ([::1]:44346 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iit0r-00078V-AP for ged-emacs-devel@m.gmane.org; Sat, 21 Dec 2019 23:38:41 -0500 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:60281) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iit0l-00078P-1F for emacs-devel@gnu.org; Sat, 21 Dec 2019 23:38:36 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iit0f-0000d8-4u for emacs-devel@gnu.org; Sat, 21 Dec 2019 23:38:34 -0500 Original-Received: from relay8-d.mail.gandi.net ([217.70.183.201]:42839) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1iit0e-0000Z5-S6 for emacs-devel@gnu.org; Sat, 21 Dec 2019 23:38:29 -0500 X-Originating-IP: 182.251.133.189 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 relay8-d.mail.gandi.net (Postfix) with ESMTPSA id D8EE61BF203 for ; Sun, 22 Dec 2019 04:38:16 +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.183.201 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:243557 Archived-At: > On Dec 22, 2019, at 13:30, Eduardo Ochs wrote: >=20 > Ok... >=20 > I don't think I can help, then... >=20 > I've been teaching Emacs to lots of newbies lately, but my approach is > exactly the opposite of that - I prefer to suppose that their memory > is very bad and that they have very little focus, and I start by > teaching them how to create sexp hyperlinks to everything that they > find interesting in the info manual, in the elisp source, in manpages, > in PDFs, and in several other kinds of places... here are four links > to my approach if you'd like to take a look: Thank you, that's very interesting. But I think that's not so different from what I'm looking for. You still = need to teach learners a few basic skills and for that they do use their = memory. I'm thinking about 20-40 basic functions in elisp. JC >=20 > http://angg.twu.net/eev-intros/find-here-links-intro.html > http://angg.twu.net/emacsconf2019.html > http://angg.twu.net/eev-intros/find-emacs-keys-intro.html > http://angg.twu.net/eev-intros/find-eev-quick-intro.html >=20 > [[]], > Eduardo Ochs > http://angg.twu.net/#eev >=20 >=20 > On Sun, 22 Dec 2019 at 01:15, Jean-Christophe Helary = wrote: > What I'm trying to do is this: >=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 > 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. >=20 > 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). >=20 > People who know the basic words can get by and express most of what = they need to express in daily life. >=20 > 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... >=20 > JC >=20 > > 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