all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Michael Heerdegen <michael_heerdegen@web.de>
To: Jean-Christophe Helary <jean.christophe.helary@gmail.com>
Cc: help-gnu-emacs@gnu.org
Subject: Re: What makes elisp fun ?
Date: Wed, 24 May 2017 00:39:43 +0200	[thread overview]
Message-ID: <87inkrkxjk.fsf@drachen> (raw)
In-Reply-To: <96BC1171-45DA-4415-B2E8-3DD4B51AB78A@gmail.com> (Jean-Christophe Helary's message of "Mon, 22 May 2017 21:28:26 +0900")

Jean-Christophe Helary <jean.christophe.helary@gmail.com> writes:

> So, besides for the fact that elisp is the Emacs extension language,
> what makes you enthusiastic about it and want to program in it? What
> makes elisp fun for you ?

Lisp programs are represented as Lisp objects (lists).  You can
manipulate them with ordinary means of the language just like any other
list. You can do this with macros.  That's what's making Lisp and it's
macros unique, among its semantical simplicity: It's a progammable
programming language, and the meta programming language is the same
language again.

Emacs offers a perfect programming environment for Elisp, and OTOH is
itself programmable in Elisp.  These three aspects form a unique triad
that you can find nowhere else.  No "besides" needed.

But besides... If you look only at the language Emacs Lisp, it is
probably not much cooler than other Lisps.  It has some weaknesses even,
though there has been improvements in the last time (introduction of
lexical binding for example).

The most important point for most of Elisp developers is probably that
they can do something useful for real-life with their language (or
hobby), something they can use personally.  That you program stuff for
an Editor makes Elisp quite interesting, because you do stuff with it
that you probably don't do with other Lisps.  If you want to count
Fibonacci numbers, you still can use Scheme...

And you can do all this in very cool ways, because you can do it with a
Lisp!  For example, I recently discovered that you can do very cool
things with streams (aka delayed lists) (they are not built in, but hey,
you have a programmable programming language, so they have been added
with very few lines Elisp).  Elisp makes it possible to invent very cool
stuff in very cool ways, and other people may want use your work.  Elisp
let's you be very creative.


Michael.



  parent reply	other threads:[~2017-05-23 22:39 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-05-22 12:28 What makes elisp fun ? Jean-Christophe Helary
2017-05-22 21:36 ` Emanuel Berg
2017-05-22 21:49   ` Emanuel Berg
2017-05-23 22:39 ` Michael Heerdegen [this message]
2017-05-23 22:49   ` Drew Adams
2017-05-24  9:13   ` hector
2017-05-24  9:29     ` tomas
2017-05-24 20:56   ` Emanuel Berg
2017-05-26 10:52 ` Thien-Thi Nguyen
2017-05-26 13:58 ` Eric Abrahamsen
2017-05-26 14:43   ` Maxim Cournoyer
2017-05-26 14:50   ` Yuri Khan
2017-05-26 20:53   ` Emanuel Berg
2017-05-26 21:17     ` John Ankarström
2017-05-28 18:35       ` Emanuel Berg
2017-05-28 18:48         ` John Ankarström
2017-05-28 22:22           ` Emanuel Berg

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

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

  git send-email \
    --in-reply-to=87inkrkxjk.fsf@drachen \
    --to=michael_heerdegen@web.de \
    --cc=help-gnu-emacs@gnu.org \
    --cc=jean.christophe.helary@gmail.com \
    /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 external index

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

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.