Subject: 24.0.93; (elisp) Parsing Expressions - what about numerals?

From: "Drew Adams" <[email-masked]>
Date: Mon, 30 Jan 2012 08:43:37 -0800

The doc says:
 
"Basically, a sexp is either a
balanced parenthetical grouping, a string, or a symbol name (a sequence
of characters whose syntax is either word constituent or symbol
constituent)."
 
What about numerals?  Seems like this "basically" definition of a sexp
should be more exact or should cross-reference a more exact definition.
A sexp is an important concept for Lisp - we should not be lax about
making clear what we mean, especially in a section about parsing sexps.
 
Dunno whether we even have a good definition of "sexp" anywhere in the
Elisp manual.  Trying `i' to see what's in the index shows no entry for
just "sexp", and none of the index entries matching the substring "sexp"
cry out "This section defines `sexp'".
 
And `i' doesn't help at all with "s expression" or "s-expression" or
"symbolic expression".  Or for that matter "balanced expression", which
seems to be what is used in this manual for what are typically called
"symbolic expressions" (for which "sexp" is an abbreviation) in other
Lisps, starting with McCarthy.  (And why is it that we refer to them as
"balanced expressions"?)
 
The manual has a section on Lisp data types, and a section on their
`Printed Representation' that also discusses their read syntax.  But do
we anywhere define "sexp"?  We should.
 
(Wrt the index, I think there should also be an entry for `sexp' as a
custom type (node `Simple Types').)
 
In GNU Emacs 24.0.93.1 (i386-mingw-nt5.1.2600)
 of 2012-01-29 on MARVIN
Windowing system distributor `Microsoft Corp.', version 5.1.2600
Configured using:
 `configure --with-gcc (4.6) --no-opt --cflags
 -ID:/devel/emacs/libs/libXpm-3.5.8/include
 -ID:/devel/emacs/libs/libXpm-3.5.8/src
 -ID:/devel/emacs/libs/libpng-dev_1.4.3-1/include
 -ID:/devel/emacs/libs/zlib-dev_1.2.5-2/include
 -ID:/devel/emacs/libs/giflib-4.1.4-1/include
 -ID:/devel/emacs/libs/jpeg-6b-4/include
 -ID:/devel/emacs/libs/tiff-3.8.2-1/include
 -ID:/devel/emacs/libs/gnutls-3.0.9/include --ldflags
 -LD:/devel/emacs/libs/gnutls-3.0.9/lib'