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

Re: Question about declaration

If (as it seems) `bar' isn't restricted to be anything sharper than
`list', then the only thing we know is that `foo' returns multiple
values.  (Indeed, `foo' is just another name for `values-list', but
I assume you are just abstracting here the useful aspects of a real
`foo' of yours.)

I suspect I would write something as uninformative as
    (proclaim '(function foo (list) (values &rest list)))
which is marginally better than no declaration at all.

While at this, how do you use the &-markers in a `values' specifier?
For instance, the only things I believe make sense after &rest in a
`values' specifier should be `null' (utterly useless) or `list'
(quite uninformative).  Anything more general than `list' would
admit of impossible trash, anything disjoint with list is
unspeakable.  Yet, KCL just let me try `...&rest float'.  Better not
think what a compiler could do with such.

Cesar Augusto  Quiroz Gonzalez

Department of Computer Science     ...allegra!rochester!quiroz
University of Rochester            or
Rochester,  NY 14627               quiroz@cs.rochester.edu