gcl-devel
[Top][All Lists]
Advanced

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

[Gcl-devel] Re: Latest commit...


From: Camm Maguire
Subject: [Gcl-devel] Re: Latest commit...
Date: 17 Sep 2004 16:58:28 -0400
User-agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.2

Greetings, and thanks as always for your helpful reply!

"Paul F. Dietz" <address@hidden> writes:

> Camm Maguire wrote:
> 
> > ANSI is of course the highest priority, but this work has reminded me
> > of a previous discussion we had on passing outer declarations to inner
> > scopes via the environment for use in macroexpansion.  I'd like to
> > address this, and would appreciate any advice.  I.e. in
> > (let ((i 0) (a (make-array 3 :element-type 'fixnum)))
> >         (declare (fixnum i) ((array fixnum) a))
> >         (incf (aref a i)))
> > incf rebinds the variables with gensyms and loses the type
> > information.
> 
> Duane Rettig had a proposal for this, since (I think) incorporated
> in Allegro 7.0.  It would be good to avoid gratuitous incompatibility.
> 

URL/reference?

> CMUCL/SBCL avoid the problem by propagating types after macro expansion
> and deciding how to implement aref and + after that.
> 

This perhaps seems a better approach.  Opinions?  In the former case,
one only needs to verify that the new macroexpanded scope maintains
the new bindings as constants.  In the latter, one must determine this
for every subscope establishing a new binding.  Hmm -- beginning to
like the CMUCL approach better, as it means the user has fewer
declarations to enter.

Not to beat a dead horse or anything, but just wanted to make sure you
saw the note regarding rational * double tests before I forget about
it. 

Take care,

>       Paul
> 
> 
> 

-- 
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]