"Mohammed M. Hakim" <·····@andrew.cmu.edu> writes:
>
> I am working in Lucid common lisp 4.0 and CLOS on a research project
> and I need to allow the user to specify the internal names to be
> associated with class definitions. The only method of user input I am
> implementing returns the specified names as string values.
>
> I need to convert these user supplied string values into symbols
> (recognizing of course that there would have to be some parsing involved
> as, for instance, a string may have blank space while a symbol may not)
> which can be used to define classes and slots.
>
> Can anyone provide me with such a function?
>
>
> Gary
You can often use (format nil ...) to create a string, then intern
it. For example.
(defun get-user-symbol ()
(format t "~% Name it: ")
(intern (string-upcase
(format nil "~A-~A" (read-line) (gentemp "")))))
(get-user-symbol)
Name it: testing
TESTING-123
Of course, (read-line) or (read-from-string), using (intern)
may be all you need.