Hacker News new | past | comments | ask | show | jobs | submit login

That's basically true. The more advanced Scheme implementations (and there are several) offer a lot of functionality.

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.

Whether functionality should be contained in the "core" or in libraries is often a subject arousing contention, but I think it is, or can be, largely a technical distinction.

Where it matters is how well the functionality is integrated with the core language. The argument goes that in Scheme it is less regularly the case that libraries are complete and consistent vs. CL.

The effort of the R7RS-large work group to create a "standard" library of extended functionality is ongoing, but in a year or two should produce a language standard that could create consistency across Scheme implementations, effectively similar to CL.

Of course, how well that works out depends on the willingness of implementors of Scheme to make it so. Let's hope that they will do that.

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact