emacs-tangents
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: use-package.el -> Emacs core


From: Evgeny Panasyuk
Subject: Re: use-package.el -> Emacs core
Date: Tue, 10 Nov 2015 23:10:48 +0300
User-agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:38.0) Gecko/20100101 Thunderbird/38.3.0

10.11.2015 21:31, Alan Mackenzie:

We should encourage the core Elisp to be simple to learn, because it
is actually very simple.  Not anymore so with macros like `cl-loop',
`pcase' and `use-package'.  They are powerful, but /they are their own
language/ completely separate from Elisp. They have their place, but
in my opinion Elisp newbies should not be encouraged to use them.

Sorry, but I cannot agree at all.  That's like saying C++ users should
not learn about the standard libraries since they should rather write
their own.

No, it's like saying that it's OK for users to write Boost template
constructs and do QT stuff without learning the basic C++ and STL.

It is OK to use Boost.Function or Boost.Spirit before learning every
trick used inside. Yes, you have to read their documentation, but the
same applies "normal/usual" libraries.
Another example is Boost.Preprocessor - it provides high level interface
and uses a lot of tricks to make it portable across very different
(buggy) preprocessor implementations - but you can successfully use it
without knowing every internal trick and detail.

I think this part of the thread, although interesting, no longer has
anything to do with Emacs.  Therefore it is a prime example of what
should move to address@hidden


It is not a discussion of C++ and Boost per se, but it is an attempt to find and evaluate existing analogy to aspects related to Emacs.

Boost.Spirit is high-level EDSL, and it can be used without knowledge of implementation tricks. use-package is also kind of EDSL, and there is nothing wrong if someone would use it without knowledge of Emacs-Lisp subset related to macros.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]