Re: Chipz (Was Re: *.lisp in /usr/info, redux)

Raymond Toy <[email protected]> Mon, 15 Jun 2026 08:39:23 -0700
Newsgroups gmane.comp.mathematics.maxima.general
Message-ID <[email protected]>
On 6/14/26 8:15 AM, Raymond Toy wrote:

> On 6/14/26 6:35 AM, Raymond Toy wrote:
>
>>
> For fun, I tried chipz with maxima. Just hacked maxima defsystem to 
> add a chipz module. It builds fine with the lisps I have configured 
> and basically works. Except with gcl where I get the error:
> |(%i1) :lisp (with-open-file (gz "set-float.lisp.gz" :element-type 
> '(unsigned-byte 8)) (with-open-file (s "output2" :direction :output 
> :if-exists :supersede :element-type '(unsigned-byte 8)) 
> (chipz:decompress s 'chipz:gzip gz))) Error: Fast links are on: do 
> (si::use-fast-links nil) for debugging Signalled by PROGN. Condition 
> in PROGN [or a callee]: INTERNAL-SIMPLE-PROGRAM-ERROR: PROGN [or a 
> callee] requires less than one hundred thirty-four arguments. Broken 
> at CHIPZ:DECOMPRESS. Type :H for Help. 1 Maxima top-level 2 Return to 
> top level. |
>
> I don’t know enough about gcl’s debugger to figure out why there are 
> 134 (or more?) arguments. |chipz:decompress| itself only has 3 args. I 
> didn’t dig any further though.
>
Claude says a workaround for gcl is:

|(defun chipz-decompress-stream (in out &optional (format 'chipz:gzip)) 
(let ((state (chipz:make-dstate format))) 
(chipz::%decompress/stream-stream out state in 
(chipz::decompress-fun-for-state state)))) (with-open-file (gz 
"set-float.lisp.gz" :element-type '(unsigned-byte 8)) (with-open-file (s 
"output2" :direction :output :if-exists :supersede :element-type 
'(unsigned-byte 8)) (chipz-decompress-stream gz s))) |

This works. Apparently the bug is in gcl’s pcl because there are many 
methods defined for |decompress| and that exceeds gcl’s limits.

&#8203;

_______________________________________________
Maxima-discuss mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/maxima-discuss