تحتوي Common Lisp على محارف مثل بقية لغات البرمجة. المحارف كائنات تمثل عنصرًا في كمية من النص (مثل سلسلة نصية أو تدفق نصي).
يمكن تحويل المحارف إلى أعداد صحيحة، والعكس. (لكنها ليست أعدادًا صحيحة؛ إنها نوع مستقل.)
تُمثَّل المحارف بالشكل #\ متبوعًا باسمها.
أما "الاسم" للمحارف الشائعة مثل 'A' أو 'b' أو '9' أو '!' فهو ببساطة ذلك نفسه: لذا #\A و#\b و#\9 و#\!.
بعض المحارف غير الرسومية مثل المسافة أو السطر الجديد لها أسماء مثل #\Space و#\Newline.
لا يشترط المعيار على التنفيذ سوى أن يوفّر 96 محرفًا (المحارف الأبجدية اللاتينية الكبيرة والصغيرة (A-Za-z)، والأرقام (0-9)، والمسافة (#\Space)، والسطر الجديد (#\Newline)، وعلامات الترقيم (مثل !$"'(),_-./:;?+<=>#%&*@[\]{|}`^~)
لكن معظم التنفيذات توفّر أكثر من ذلك، بما في ذلك تنفيذات توفّر جميع محارف يونيكود.
يمكن مقارنة المحارف من أجل التساوي باستخدام char= أو char-equal (حيث لا تفرق الأخيرة بين حالة الأحرف).
يمكن ترتيب المحارف باستخدام دوال مثل char<، وchar>، وchar<=، وchar>=، ونسخها غير الحساسة لحالة الأحرف char-lessp وchar-greaterp.
يمكن تصنيف المحارف إلى أنواع مختلفة: رسومية، أبجدية، أبجدية رقمية، رقمية، كبيرة أو صغيرة.
يمكن أن يكون المحرف من أكثر من نوع واحد، مثل محرف أبجدي كبير.
توجد دوال اختبار لكل من هذه الأنواع: graphic-char-p، وalpha-char-p، وalphanumericp، وdigit-char-p، وupper-case-p، وlower-case-p.
بعض المحارف يمكن أن تكون بحالة كبيرة أو صغيرة، ويمكن التحويل بينهما باستخدام char-upcase وchar-downcase.
يحتاج لويس، وهو كائن فضائي صغير من عالم Lisp، إلى إنجاز بعض العمل في مشروعه عن الأبجديات البشرية، ويسألك إن كان بإمكانك مساعدته في برمجة بعض الدوال التي سيحتاج إليها.
سيحتاج لويس إلى دالة تقارن بين حرفين، وتحدّد ما إذا كان الأول أكبر من الثاني أو أصغر منه أو مساويًا له.
اكتب دالة compare-chars تأخذ حرفين وتُرجع :greater-than أو :less-than أو :equal-to بحسب الحالة.
وينبغي أن تكون المقارنة حساسة لحالة الأحرف.
يحتاج لويس إلى معرفة ما إذا كان الحرف "كبيرًا" (حرف كبير) أم "صغيرًا" (حرف صغير)، أو "بلا حجم" إذا لم يكن أيًا منهما.
اكتب دالة size-of-char تُرجع :big أو :small أو :no-size حسب "حجم" الحرف:
قد يحتاج لويس إلى تحويل حرف كبير إلى صغير، أو حرف صغير إلى كبير.
اكتب دالة change-size-of-char تأخذ معاملين: حرفًا وحجمًا مرغوبًا (:big أو :small).
وينبغي أن تُرجع الحرف المقابل بالحجم الصحيح.
لن يحتاج لويس إلى معرفة "حجم" الحرف فحسب، بل أيضًا "نوعه".
اكتب دالة type-of-char تُرجع :alpha إذا كان الحرف أبجديًا، و:numeric إذا كان حرفًا رقميًا، و:space إذا كان حرف مسافة، و:newline إذا كان حرف سطر جديد، و:unknown فيما عدا ذلك
سجّل في Exercism لتتعلّم وتتقن Common Lisp عبر 27 مفهومًا92 تمرينًا، وإرشاد بشري حقيقي، وكل ذلك مجانًا.