This post is for all of the miscellaneous features that arent large enough to get their own individual posts. If you havent read all of them, here are the links to the previous posts on recompilation, inspection, class … Read the rest
Debugging Lisp Part 4: Restarts
This is part four of Debugging Lisp. Here are the previous parts on recompilation, inspecting, and class redefinition. The next post on miscellaneous debugging techniques can be found here.
Many languages provide error handling as two … Read the rest
Debugging Lisp Part 3: Redefining Classes
This is part 3 of Debugging Common Lisp. If you havent read either of the previous parts, you can find part 1 recompilation, here, and part 2 inspecting, here. You can find part 4, which is on … Read the rest
Debugging Lisp Part 2: Inspecting
This is part 2 of Debugging Lisp. If you haven’t read part 1 on dynamic recompilation, you can find it here. For the next post in the series on redefining classes, click here.
In this post I am … Read the rest
Debugging Lisp Part 1: Recompilation
This post is the start of a series on how to debug Common Lisp code, specifically with Emacs, Slime, and SBCL. If you do not understand Common Lisp, you should still be able to follow along and recognize just how … Read the rest
Multiple-value-bind
Common Lisp is a pretty unique language. One of the many features that makes Common Lisp such an awesome language is multiple values. Yes, you read right. In Common Lisp it is possible for a function to return more than … Read the rest
Hofeach
Last time I talked about mapeach, a macro which is a simple wrapper around mapcar. After using mapeach a couple times, I found that I wanted each version of many other other functions, remove, find, and … Read the rest
Mapeach
Many times when using mapcar, I find myself using a complex lambda expression for the function argument. This makes the code difficult to read since it breaks apart the flow. My code winds up looking like the following:
(mapcar… Read the rest
CL-WHO
The CL-WHO library is one of many that make it easy to generate HTML. When first checking out CL-WHO, I thought that it must be at least a couple thousand lines of code long. As it turns out, it is … Read the rest
Once-only
One of the most common mistakes made when writing macros is evaluating one of the arguments multiple times. Not only can this be inefficient, but when side effects are involved, it leads to quirky behavior. Take a macro square, … Read the rest