From: Rustom Mody <rustompmody@gmail.com>
To: help-gnu-emacs@gnu.org
Subject: Re: why not "stripes" in: (let ((zebra 'stripes) ... ; strings vs symbols?
Date: Mon, 30 Dec 2013 22:16:49 +0530 [thread overview]
Message-ID: <CAJ+TeocK4b-R+b2a57EmbJNmf3BWTSKmuk-UpQVvAWRLBKY1gA@mail.gmail.com> (raw)
On Sunday, December 29, 2013 7:53:32 PM UTC+5:30, Gregor Zattler wrote:
> Dear emacsophiles,
> ATM i read "An Introduction to Programming in Emacs Lisp". In
> the section where the let function is explained in detail the
> author, Robert J. Chassell, uses this "silly" example:
> (let ((zebra 'stripes)
> (tiger 'fierce))
> (message "One kind of animal has %s and another is %s."
> zebra tiger))
> which when evaluated produces "One kind of animal has stripes and
> another is fierce." as output.
> The thing which makes me wonder is why he uses 'stripes instead
> of "stripes" in this example. In the output of the message
> function it makes no difference but to me it seems more natural
> to use strings here since they are part of a string in the output...
> I do not really understand how the 'stripes are different
> to "stripes". Isn't 'stripes a notation for the symbol
> stripes? This would mean there is the notion of a symbol which
> is bound to noting?
> Could somebody please enlighten me as to what the differences
> between "stripes" and 'stripes are
> and
> in which cases which notation is more useful/natural?
In http://www.catb.org/esr/faqs/hacker-howto.html Eric Raymond says:
LISP is worth learning for a different reason — the profound
enlightenment experience you will have when you finally get it. That
experience will make you a better programmer for the rest of your
days, even if you never actually use LISP itself a lot.
So...
You are almost there... at the Zen of Lisp!
And getting lisp symbols is an important part of that
Lisp is a completely bizarre language because unlike most others its
primary data structure -- S-exp -- is identical to that used for (lisp) code.
Very key to that is that symbols do double duty
- they are variables like in other languages
- they are data like strings in other languages
For more on this look up homoiconicity
Also Ive a blog post on that
http://blog.languager.org/2013/08/applying-si-on-sicp.html
But for that you need to know scheme
next reply other threads:[~2013-12-30 16:46 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-12-30 16:46 Rustom Mody [this message]
2014-01-01 4:53 ` why not "stripes" in: (let ((zebra 'stripes) ... ; strings vs symbols? Rustom Mody
2014-01-02 5:30 ` Rustom Mody
[not found] ` <mailman.10827.1388640687.10748.help-gnu-emacs@gnu.org>
2014-01-02 14:31 ` Emanuel Berg
2014-01-03 5:00 ` Yuri Khan
[not found] ` <mailman.10894.1388725210.10748.help-gnu-emacs@gnu.org>
2014-01-03 23:47 ` Emanuel Berg
[not found] ` <mailman.10770.1388552064.10748.help-gnu-emacs@gnu.org>
2014-01-01 17:26 ` Emanuel Berg
[not found] <mailman.10695.1388422033.10748.help-gnu-emacs@gnu.org>
2013-12-31 18:24 ` Emanuel Berg
2014-01-01 2:00 ` Evans Winner
2014-01-01 17:29 ` Emanuel Berg
2014-01-01 19:02 ` Emanuel Berg
2014-01-02 4:28 ` Stefan Monnier
2014-01-02 4:39 ` Yuri Khan
[not found] <mailman.10627.1388327081.10748.help-gnu-emacs@gnu.org>
2013-12-29 23:39 ` Emanuel Berg
2013-12-30 15:27 ` Barry Margolin
-- strict thread matches above, loose matches on Subject: below --
2013-12-29 14:23 Gregor Zattler
2013-12-29 16:00 ` Drew Adams
2013-12-30 11:24 ` Thien-Thi Nguyen
[not found] ` <mailman.10682.1388402467.10748.help-gnu-emacs@gnu.org>
2013-12-30 13:19 ` Damien Wyart
2013-12-30 15:12 ` Drew Adams
2013-12-30 17:21 ` Thien-Thi Nguyen
2013-12-31 17:52 ` 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=CAJ+TeocK4b-R+b2a57EmbJNmf3BWTSKmuk-UpQVvAWRLBKY1gA@mail.gmail.com \
--to=rustompmody@gmail.com \
--cc=help-gnu-emacs@gnu.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 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.