(defun distance (str1 str2 &key (test #'char=)) "Number of positional differences in two equal length strings." (when (= (length str1) (length str2)) (count nil (map 'list test str1 str2))))
Get better at programming through fun, rewarding coding exercises that test your understanding of concepts with Exercism.
Determine if a number is perfect, abundant, or deficient based on Nicomachus' (60 - 120 CE) classification scheme for positive integers.
There exists exactly one Pythagorean triplet for which a + b + c = 1000. Find the product a * b * c.
Learn about hash tables by keeping track of the high scores in a game that Lamont wants to write.
Common Lisp has a full featured REPL, development can happen as a 'conversation' with the system.
Common Lisp is fully inspectable with built-in functions for exploring every part of the language.
Code has the same structure as data, allowing for powerful macros: code that writes code.
Generic functions, reader-macros, and flexible namespacing allow for the extension of the language
The language is very stable, with multiple implementations to match your needs – JVM, embedded, etc.
Whether you prefer a functional style or something more object-oriented, Lisp adapts to your needs.
Every language has its own way of doing things. Common Lisp is no different. Our mentors will help you learn to think like a Common Lisp developer and how to write idiomatic code in Common Lisp. Once you've solved an exercise, submit it to our volunteer team, and they'll give you hints, ideas, and feedback on how to make it feel more like what you'd normally see in Common Lisp - they'll help you discover the things you don't know that you don't know.Learn more about mentoring
The Common Lisp track on Exercism has 27 concepts and 83 exercises to help you write better code. Discover new exercises as you progress and get engrossed in learning new concepts and improving the way you currently write.See all Common Lisp exercises
The best part, it’s 100% free for everyone.