[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: DIGIT-WEIGHT/DIGITP and funny input bases
- To: RWK at MIT-MC
- Subject: Re: DIGIT-WEIGHT/DIGITP and funny input bases
- From: Kent M. Pitman <KMP at MIT-MC>
- Date: Tue ,7 Oct 80 14:04:00 EDT
- Cc: LISP-FORUM at MIT-MC
Since DIGIT-WEIGHT is trivially definable as a variant on INPUT-FIXNUM -- eg,
(DIGIT-WEIGHT (X &OPTIONAL BASE)
(DECLARE (CHARACTER X))
(INPUT-FIXNUM (COERCE-CHARACTER-TO-STRING X) BASE))
or something like that -- this might make sense. You're certainly not losing
anything functional.
I'd suggest a bit of caution here, though. The trick to designing a language is
to make sure that you have all the things defined primitively that you can't
do without AND to make sure that you provide enough useful/common (albeit
not dictated by necessity) constructs that people don't end up having to
program in assembly language... I think you should distinguish -- at some point
at least -- between things you want in the language and things you want in the
programming environment.
After all -- to parallel your argument and use some of the motivations for the
other Lisp-based AI languages -- no one really wants to say CAR and CDR anyway.
They want to solve problems with goals, etc. But that's no justification for
not providing CAR and CDR. If you are going to provide some high-level handler
that's ok, but don't shortchange the people asking for primitives. INPUT-FIXNUM
is not a primitive notion in any way I can understand.
Think of DIGIT-WEIGHT/INPUT-FIXNUM as paired like DEFAULTF/LOAD in Maclisp.
If I didn't like LOAD, I could write my own -- and it would be able to use
the normal Lisp file defaults. If I hid the Lisp defaults away in a place they
couldn't be seen, I'd end up writing something which was not only functionally
different but which might default wrong. I'd have to guess its file defaulting
algorithm. Similarly, if I don't like INPUT-FIXNUM and want to write my own,
I might want still to use the same function that it calls to get digit weights.
That's a fully conceptually separable piece of code which you're already having
to write. Why not give the user an entry into it rather than forcing him to
write his own ...
I don't have a strong stand about this -- I'm just pointing out that if you
want to open this can of worms (INPUT-FIXNUM), you're not considering all the
aspects of the issue ... I'd like to hear more discussion from some of the
others ...
-kmp