unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: arthur miller <arthur.miller@live.com>
To: Jean-Christophe Helary
	<jean.christophe.helary@traduction-libre.org>,
	Emacs developers <emacs-devel@gnu.org>
Subject: RE: list of elisp primitives ?
Date: Thu, 26 Dec 2019 18:00:35 +0000	[thread overview]
Message-ID: <VI1P194MB04292418C75CBC353B29ECE8962B0@VI1P194MB0429.EURP194.PROD.OUTLOOK.COM> (raw)
In-Reply-To: <701C773A-96C5-47FD-B75F-92947976E57B@traduction-libre.org>

[-- Attachment #1: Type: text/plain, Size: 3111 bytes --]

I think you are thinking from the wrong end. As a consult I had opportunity to work with all kind of languages I never thought I would work with and of which I had no idea what APIs where available or what was idiomatic coding.

Anyway my approach was always to think in general programming terms of repetition, conditional, aggregations etc. I would then lookup what I needed to find out details of syntax and exposed libraries.

I believe programming, and any programming language is best learned by doing. Especially when you already know how machine works and have knowledge of algorithms, data structures and program organization.

If you have seen thevlegendaru K&R C book, then that is a bitwhat I mean. I don't think picking up some small subset of API and giving it to people and telling them to make something with it is the necessary the best approach. Probably to show them basics on small exercises and teach them how to lookup information they need further. Yes it takes time to lookup stuff, but that is the nature of the thing.

If we make an analogy with Lego bricks, then yes one can see library functions as bricks to be combined, but just as Lego bricks, and everything else in life, one has to know what one wants to make before one starts to build it, otherwise it will just be random mess.



Skickat från min Samsung Galaxy-smartphone.



-------- Originalmeddelande --------
Från: Jean-Christophe Helary <jean.christophe.helary@traduction-libre.org>
Datum: 2019-12-26 18:39 (GMT+01:00)
Till: Emacs developers <emacs-devel@gnu.org>
Ämne: Re: list of elisp primitives ?



> On Dec 23, 2019, at 2:31, Drew Adams <drew.adams@oracle.com> wrote:
>
>> I'm 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.
>          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>
> That's not what a list of subrs gives you, at all.
> A subr is just a function coded in C, not in Lisp.
> Likewise, for other things, such as variables,
> that might be defined in C.
>
> The choice of whether to implement something in C
> has nothing to do with, and is no guide for, ease
> in learning or how often something is used in
> typical Elisp code.

I'm not suggesting that implementing lisp functions in C is related to ease of learning or anything.

My idea, which may be wrong, is that lisp code uses building blocks to provide more advanced functions and that the most basic blocks are lisp functions implemented in C.

Hence, knowing the building blocks (or a few dozen useful ones) can give a clearer idea of what to do with elisp in general.

Mind you, I too am trying to find my way around and it's not easy. My pet peeve is "discoverability" and for now despite the info/doc integration, I'm still very much struggling.


Jean-Christophe Helary
-----------------------------------------------
http://mac4translators.blogspot.com @brandelune




[-- Attachment #2: Type: text/html, Size: 4657 bytes --]

  reply	other threads:[~2019-12-26 18:00 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-12-22  2:59 list of elisp primitives ? Jean-Christophe Helary
2019-12-22  3:21 ` Eduardo Ochs
2019-12-22  3:43   ` Jean-Christophe Helary
     [not found]     ` <CADs++6hB7ZKnEWOZ=XOGdA=W_CacCE2=354ARfNFtWvStaCF3g@mail.gmail.com>
2019-12-22  4:14       ` Jean-Christophe Helary
     [not found]         ` <CADs++6j+niJy3hvrTEJ-LrqcitFuffX=1Duca7pU30a8qfh_zg@mail.gmail.com>
2019-12-22  4:38           ` Jean-Christophe Helary
2019-12-22 15:01         ` Stephen Berman
2019-12-22 17:31         ` Drew Adams
2019-12-26 17:39           ` Jean-Christophe Helary
2019-12-26 18:00             ` arthur miller [this message]
2019-12-26 18:09             ` Drew Adams
2019-12-26 18:22               ` Jean-Christophe Helary
2019-12-26 18:33             ` Stefan Monnier
2019-12-26 21:17             ` Eduardo Ochs
2019-12-27  0:21               ` Jean-Christophe Helary
2019-12-22 14:56     ` Óscar Fuentes
2019-12-22 22:34       ` Jean-Christophe Helary
2019-12-22 19:21 ` Marcin Borkowski

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=VI1P194MB04292418C75CBC353B29ECE8962B0@VI1P194MB0429.EURP194.PROD.OUTLOOK.COM \
    --to=arthur.miller@live.com \
    --cc=emacs-devel@gnu.org \
    --cc=jean.christophe.helary@traduction-libre.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).