Subject: Re: quick question
From: Erik Naggum <erik@naggum.net>
Date: 15 Nov 2000 01:06:58 +0000
Newsgroups: comp.lang.lisp
Message-ID: <3183239218922663@naggum.net>

* Jonathan Wohlgelernter
| a quick question from inexperienced LISP user:
|  what does the # symbol do, as in the following code:
| 
| (DO ((RULE-#  1  (+ 1 RULE-#))
|              (MAX-NUMB  (KEYWD-NUMB-DECOMPS KEY)))
| 
|              (( > RULE-# MAX-NUMB) NIL) ; End Test

  # is a constituent character in that context.  As such, it does
  nothing (special) or exactly the same as the character -.  (Note that
  in the context of Lisp, "symbol" should not be confused with character
  even though the two are sometimes interchangeable in other contexts.)

* Barry Margolin <barmar@genuity.net>
| In Common Lisp '#' is used as a prefix character for a number of special
| sequences, but that's obviously not going on here.  It looks like it's
| written in a dialect of Lisp where # is treated as an alphanumeric
| character, since it's just using it as part of the variable name, as an
| abbreviation for "number".

  Well, # is a non-terminating macro character in Common Lisp, so symbol
  names like RULE-# are perfectly valid, although somewhat unusual, such
  as because people think it is a terminating macro character...

#:Erik
-- 
  ALGORITHM: a procedure for solving a mathematical problem in a finite
  number of steps that frequently involves repetition of an operation.
  ALGOREISM: a procedure for solving an electoral problem in a finite
  number of steps that frequently involves repetition of an operation.