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


    Date: Tue, 11 Mar 1986  10:19 EST
    From: "Scott E. Fahlman" <Fahlman@C.CS.CMU.EDU>

	The issue isn't generality, but minimizing the number of new functions.
	"Why take two when one will do?"

    In my view, the complexity of a language is not measured by counting the
    functions.  One hairy function-building meta-function adds a lot more
    conceptual hair than two nearly identical simple functions that just do
    easily explained things: gobble down any number of arguments, ignore
    them, and return T or NIL.  I'm not sure where the break-even point
    would be in this case, but it's a lot higher than two.

    -- Scott

That's fair, of course, but I'll rpess my luck just one more time:  we
would be better off if we didn't automatically think of functions that
return functions as "hairy".  (I don't mean to accuse you of reacting
automatically in this case, but I don't think my CONSTFN one-liner was
any hairier than + or GCD.)  We are all used to MAPC and MAPCAR; most of
us are used to REMOVE-IF-NOT by now; and I have found REDUCE to be
tremendously useful in unexpected ways, as I have already noted.  There
is great expressive power to be gained in a carefully selected set of
function-producing functions.