[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Local type info for compilation
- To: JONL at MIT-MC, KMP at MIT-MC
- Subject: Local type info for compilation
- From: KMP at MIT-MC (Kent M. Pitman)
- Date: Tue, 12 Sep 78 16:32:00 GMT
- Cc: (BUG LISP) at MIT-MC, LISPM at MIT-MC
- Original-date: 12 SEP 1978 1232-EDT
Date: 12 SEP 1978 0523-EDT
From: JONL at MIT-MC (Jon L White)
Subject: Local type info for compilation
To: KMP at MIT-MC
CC: (BUG LISP) at MIT-MC, LISPM at MIT-MC
(+ <frob>) is preferable to (+ <frob> 0) for announcing that <frob>
will be of type FIXNUM (similarly for +$ and FLONUM), and most likely
that will do whereever you wanted a local type specification.
If there is going to be some other key word, I would suggest something
without the word "force" in it, since the action here is not a type
coercion to one type or other, but rather merely the "telling" of
information to some processor (compiler, data checker, interpreter).
(LOCAL-DECLARE (FIXNUM) <frob>), as I think someone mentioned, would be
ok with me. I object strongly to saying (+ <frob>) because that relies on
you telling me that the compiler will make a certain assumption at
that point. Since you maintain the compiler this is reasonable, but is
not what I think of as classically 'clean' - or even close. This type of
thing wants a builtin primitive in MacLISP that could be a compiler macro
for all I care doing exactly that - Just that I object highly to handling
its definition at the user-level.
--kmp