David Zelinsky: ... > In Lisp (of which Scheme is a dialect) a "symbol" is an identifier, > which can have simultaenous associated values of one or more of various > types, including variable or function. Which value type is used depends > on context. A slightlhy more detailed explanation is here: > > https://en.wikipedia.org/wiki/Common_Lisp#Scalar_types ...
I don't follow, well yes [1] says with some vague wordings that a symbol is an identifier also somewhat implying that it isn't a variable, [2] says it is type but doesn't really bother to explain it. I just find a lot jumbo mumbo, perhaps someone who alreade knows guile in and out would perhaps understand it perfectly well... [1] https://people.csail.mit.edu/jaffer/r5rs_4.html#SEC15 [2] https://people.csail.mit.edu/jaffer/r5rs_5.html#SEC20 And regarding common lisp, Guy L. Steele Jr. writes in his book "common lisp" from 1990 that (section 2.3. Symbols): Symbols are Lisp data objects that serve several purposes and have several interesting characteristics. Every object of type «symbol» has a name, called its "print name". ... Symbols have a component called the "property list", or "plist". ... Symbols are also used to represent certain kinds of variables in Lisp programs, So, it seems clear to me that a symbol cannot be a simple variable like the "a" one here: a = \lyricmode { hello } [3] shows a symbol: 'thickness Does that mean that the only symbols in lilypond are thoose in scm/define-music-types.scm ? [3] https://lilypond.org/doc/v2.25/Documentation/extending/property-alists Regards, /Karl Hammar
