[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
More AKCL trouble
I hit on more obscure behavior of AKCL, so given that I have already
admitted that AKCL and KCL are only very distant relatives and that
what I know about KCL won't help me here, let me humbly ask for a
pointer to the documentation. Nothing I found in /doc helped me
with the previously reported problem, nor with these:
* How do you proclaim that a function returns two values?
The documentation for DESCRIBE gives this syntax:
(FUNCTION function-name ({arg-type}*) {return-type}*)
That cannot be right, right?
I say somewhere:
(proclaim '(function index->object (object-index universe) (values t t)))
or else, just in case
(proclaim '(function index->object (object-index universe) t t))
In both cases I get
;; Warning: INDEX->OBJECT was proclaimed to have only one return value.
;But you appear to want multiple values.
;; Warning: INDEX->OBJECT was proclaimed to have only one return value.
;But you appear to want multiple values.
The function follows, just in case it is obvious why this compiled
and worked under KCL but doesn't in AKCL:
(defun index->object (index universe)
"(INDEX->OBJECT INDEX UNIVERSE) => any object, T-or-NIL
If INDEX corresponds to an element registered in UNIVERSE, this
function returns that element and T. Else, the function returns NIL
and NIL. This permits discriminating a NIL that is properly an
element of the universe from one that just indicates a failure."
(declare (type object-index index)
(type universe universe))
(let ((i->o (universe-index->object universe)))
(if (< index (fill-pointer i->o))
(values (elt i->o index) t)
(values nil nil))))
* Finally, what does this:
;; Warning: NEW-UNIVERSE is proclaimed but not in *inline-functions*
T1defun could not assure suitability of args for C call
mean? Sounds vaguely scary, but I have not the faintest. No,
the *inline-functions* symbol is not particularly documented either:
>>(describe '*inline-functions*)
*INLINE-FUNCTIONS* - internal symbol in USER package
Many thanks in advance!
Cesar
PS. Does anyone know how to get KCL to run in a Sun 4 under Sun OS
4.0.3?