gcl-devel
[Top][All Lists]
Advanced

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

[Gcl-devel] Re: Errors?


From: Camm Maguire
Subject: [Gcl-devel] Re: Errors?
Date: 10 May 2004 11:05:07 -0400
User-agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.2

Greetings!  Currently GCL implements pretty-printing via a fixed
length stack the size of which is determined at compile time.  This
should be reimplemented as an unbounded algorithm at some point.  For
now, you can increase the following defines in h/notcomp.h:

#define Q_SIZE          128
#define IS_SIZE         256
 

"Warren A. Hunt Jr." <address@hidden> writes:

> Hi Camm,
> 
> We have some unusual GCL activity to report.
> 
> 
> (1)  The pretty print mechanism seems to fail with this form.
> 
>        '((((A) (B) (A)) . 1) ((A) ((A) (B) (A)) ((A) (B) (A))) ((B) ((A) (B) 
> (A))))
> 
>      but works OK with
> 
>        '((((A) (B) (A)) . 1) ((A) ((A) (B) (A)) ((A) (B) (A))))
> 
> 
> (2)  When using the compact print/read feature, e.g.,
> 
>       (compact-print '(abc abc abc))  ;;  Our function
>       #1=( #2=ABC #2# #2#)
> 
>     we get an error when we try to read in a big file of such expressions.
>     The variable *data* has a big tree in it.
> 
>      (compact-print *data* file)  ;;  Our function
>      (close file)
>      (setq file (open "numbersign-read.lisp" :direction :input))
>      (read file)
> 
>    The error we get is:
> 
>      Error: Too many #= definitions.
>      Fast links are on: do (si::use-fast-links nil) for debugging
>      Error signalled by READ.
> 
>    Is there a way to extend some hash table or the like that will allow
>    us to read larger forms?

Yes, this is a fixed length compile-time determined stack issue as
well.  In read.d:

#ifndef SHARP_EQ_CONTEXT_SIZE
#define SHARP_EQ_CONTEXT_SIZE   500
#endif

so you could simply define the symbol to whatever you'd like at the
end of the .h file corresponding to your machine, or alternately,
simply append to the end of h/config.h after configuring and before
typing make.

Both of these should either be unbounded or at the least governed by a
user-settable lisp variable.  The latter is actually a quite easy
fix. 

> 
> 
> Finally, could you remind me where the latest tar'ed, gzip'ed version
> of GCL resides?  I want to build a copy with the latest of everything.
> I know you told me some months ago, but I have lost your message.
> 

ftp:://ftp.debian.org/debian/pool/main/g/gcl/gcl_2.6.1-39.tar.gz

Take care,


> Thanks,
> 
> Warren
> 
> 
> 

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