|
|
|
|
|
by jrapdx3
4296 days ago
|
|
It's probably not exactly true that CL has "more features" than Scheme. That is to say, the Scheme "core" language (well, as of R5RS) describes the essential functionality that qualifies as Scheme, but the major implementations have tons of additional/optional utilities, convenience features and extensions. The sum total is that the complexity of CL vs. Scheme may not in practice be all that different. Take a look at newer Scheme standards, R6RS, R7RS, the SRFI's, and implementations like CHICKEN to see what I'm referring to. Still CL and Scheme are different languages, each has its fans. It does seem to imply that the stuff it takes to get the job done is more or less independent of language, whether it's included with the base language, or contained in modules or libraries, the features need to be there somewhere in some form. |
|
One thing I still find true: Common Lisp has much more useful functionality in the core. Thus the core and the libraries are often actually using them.
Example: by default Scheme has poor argument lists. Thus a lot of code does not use keyword args and the compiler usually does not know about that.
Another example: Common Lisp has a standard object system. All implementations support it and some use it extensively. In most extended Common Lisp much of the libraries is using CLOS: conditions are CLOS classes, I/O is based on CLOS, etc.