I am using an implementation of common lisp called CCL and I have run into a strange issue that I do not quite understand.
When I call:
(read-from-string "(=)")
I get a list containing the equal operator:
(=)
But when I call:
(read-from-string "(<)")
I get a backslash in front of the <:
(\<)
I find this quite confusing and I am wondering if this may be specific to my implementation or is this an intended part of the spec? Why would this \ show for < and > but not =?
Is there anyway to avoid the backslash?
The backslash is just a presentation issue.
When you do (mapcar #'symbol-name (read-from-string "(<)"))
you probably get ("<")
, so you are getting the right symbol.
If you want, you can report this as a bug to the CCL maintainers, since this backslash is a (minor) deviation from the ANSI CL standard.