[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: no empty (zero) string predicate in Elisp
From: |
Stefan Monnier |
Subject: |
Re: no empty (zero) string predicate in Elisp |
Date: |
Sat, 25 Apr 2015 22:52:00 -0400 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/25.0.50 (gnu/linux) |
> Both for fundamental reasons, cardinals are built from a zero and a
> successor relationship, therefore a predicate for zero is not stupid,
> and a 1+ function neither;
I know that you can model natural numbers from 0 and successor, but
Elisp integers have very little to do with it and are not encoded in
this way, and there isn't much code around that looks at them this way.
So, as much as I like this way to look at the world, I don't find it
helpful for Elisp.
> and for optimization reasons on simplistic
> compilers: the hardware usually HAS specific (and optimized)
> instructions to test for zero and another to increment.
C-h f zerop RET says:
zerop is a compiled Lisp function in `subr.el'.
[...]
This function has a compiler macro `zerop--anon-cmacro'.
and if you look at this mysterious zerop--anon-cmacro, you'll see that
it optimizes `zerop' by rewriting it to (= 0 ...), which is implemented
more efficiently.
Stefan
- no empty (zero) string predicate in Elisp, Emanuel Berg, 2015/04/24
- Re: no empty (zero) string predicate in Elisp, Stefan Monnier, 2015/04/25
- Message not available
- Message not available
- Re: no empty (zero) string predicate in Elisp, Pascal J. Bourguignon, 2015/04/26
- Re: no empty (zero) string predicate in Elisp, Stefan Monnier, 2015/04/26
- Message not available
- Re: no empty (zero) string predicate in Elisp, Rusi, 2015/04/26
Message not available