[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Var-free programming (slightly off-topic)



At 01:51 AM 12/6/01, Dan Weinreb wrote:
>    Date: Wed, 05 Dec 2001 13:04:32 -0500
>    From: Scott McKay <swm@hotdispatch.com>
>
>    I don't think the distinction between core and libraries is particularly
>    blurry.
>
>Really?  (To those of you who think it looks like I'm trying to be
>provocative of Scott intentionally, let me reassure you that Scott and
>I have known each other for over 15 years and we've been known to
>provoke each other six times before breakfast just for the fun of it.)

Here's my facile reply: I think that the collection and iteration-over-
collection *abstractions* belong in the language, but apart from
some very basic implementations, most of the code belongs in
a library outside the core.

Ditto for strings: the most basic functionality belongs in the core,
but additional functionality belongs in libraries.

Java makes this distinction hard to implement, because it has decreed
that classes like String are final, so you have to do your extensions
with kludgy sets of static methods...

>We often heard complaints that the Common Lisp language was "too big",
>and sometimes we responded by pointing out that there was a lot of
>stuff in the Common Lisp book that was not in any way central to the
>langauge, stuff that could just as easily be in an option library.
>
>Java's collection classes are universally referred to by Java people
>as being part of the libraries, whereas the basic Common Lisp
>collection stuff is always referred to as being "in the language"
>(since they're documented right there in the language reference
>manual).  But technically, the distinction seems pretty arbitrary.
>In that sense, I think the distinction can be blurry.