gcl-devel
[Top][All Lists]
Advanced

[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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]