|
|
|
|
|
by blue1
6113 days ago
|
|
Common Lisp was an effort to create an unified, "industrial strength" version of Lisp, because at the time there were many. For this reason the resulting standard is very large and complex. Scheme has been designed with a different agenda (cleanliness, elegance, etc.) and it is more used in the academia ; for example, scheme is the dialect used in the famous SICP book. If you choose CL, the choice of implementation is not very important while you learn it. Different CL implementations have different strength, e.g. in unicode implementation, compilation speed, treatment of certain kinds of numbers etc., but it is not relevant for a beginner. A popular open source choice is SBCL, but there are others. Also, there are free/opensource implementations and commercial implementations. The commercial ones are costly (but trial versions exist); they give a more complete environment. |
|
Is there any 'cleaner' CL standard, or at least a 'best practices' guide to code in a cleaner way, avoiding the worse pits that had to be kept in the standard due to backward compatibility?
I can give you a simple C++ example of what I mean. In C, you had those *parameters that had to be matched by &args when the function was called. C++ brought some self-referencing ¶meters that were passed normally and worked the same way than the former but were (saidly) less error-prone.
Is there any similar effort being made in Lisp?