[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Gcl-devel] Re: 0 -> 1 ?
From: |
Camm Maguire |
Subject: |
[Gcl-devel] Re: 0 -> 1 ? |
Date: |
18 Jul 2006 10:13:26 -0400 |
User-agent: |
Gnus/5.09 (Gnus v5.9.0) Emacs/21.2 |
Greetings!
Robert Boyer <address@hidden> writes:
> > We start with a return type of nil, and repeat until consistency.
>
> Suggestion: While logically starting empty makes perfect, elegant sense,
> practically, probably, one should start with an assumption of a single
> return value of unknown type because that is the most common. I'd make a
> special case of the rare return of no values, e.g., if someone calls
> (values), 'describe', 'apropos', or 'pprint', send him to purgatory with a
> * in his crown.
>
Thanks for your suggestions!
1) If we start with t instead of nil, we'll never infer fixnum, which
is less than t, as we type-or the new result with the previous in
the iteration until consistency.
2) We could compile all (values) functions as '*, which would be
slower that what has been don traditionally. Again, the issue is
likely a confusion of the logically empty return type with what GCL
actually does at the C level.
Consider how such a function could be used. In all cases but the
use as the return of another function, the function might as well
be a compiled as fast link which always returns one value nil. The
proper way of course is to support yet another fast link type (one
value return, mv return, and no return), i.e. a C function
returning void, and write each use in a let binding as (progn (foo)
nil).
I'll try to look into cleaning this up.
Take care,
> Bob
>
>
--
Camm Maguire address@hidden
==========================================================================
"The earth is but one country, and mankind its citizens." -- Baha'u'llah
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Gcl-devel] Re: 0 -> 1 ?,
Camm Maguire <=