gcl-devel
[Top][All Lists]
Advanced

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

Re: [fricas-devel] Handle more C types in FriCAS FFI macros (fricas-lisp


From: Camm Maguire
Subject: Re: [fricas-devel] Handle more C types in FriCAS FFI macros (fricas-lisp.lisp)
Date: Tue, 05 Mar 2024 11:40:00 -0500
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/27.1 (gnu/linux)

Greetings!  Has fricas removed axiom's )fin (restart) pair?  How does
one escape to/from lisp at the fricas prompt?

Take care,

Camm Maguire <camm@maguirefamily.org> writes:

> Greetings, and thanks so much for the suggestion!
>
> This works.  I now have a 2.7.0 and fricas tree with minor modifications
> ready for commit but for (I think) one remaining problem.  2.6.14
> compiles my fricas tree just fine, but 2.7.0 gives two identical errors
> compiling the algebra:
>
> )compile GUESSINT.spad
>  
>    Compiling FriCAS source code from file 
>       /mnt/sda4/debian/fricas/src/algebra/GUESSINT.spad using old 
>       system compiler.
>    GUESSINT abbreviates package GuessInteger 
> ****** comp fails at level 2 with expression: ******
> (|Sel| (|Expression| (|Integer|)) |retract|)
> ****** level 2  ******
> $x:= ((Sel (Expression (Integer)) retract) G1)
> $m:= (Fraction (Integer))
> $f:=
> ((((#:G1 #) (* #) (+ #) (- #) ...)))
>  
>    >> Apparent user error:
>    not known that (Expression (Integer)) has (OR (AND (has (Integer) 
> (IntegralDomain)) (has (Integer) (RetractableTo (Integer)))) (has (Integer) 
> (RetractableTo (Fraction (Integer))))) 
>
> I'm digging into this and will find it eventually, but if you have any
> debugging suggestions I'm sure that would speed things up.
>
> Take are,
>
>
> Waldek Hebisch <hebisch@fricas.org> writes:
>
>> On Sat, Mar 02, 2024 at 08:56:14AM -0500, Camm Maguire wrote:
>>> Greetings!  Grégory, will reply to your post in separate email.  But in
>>> general there are several places where fricas creates calls to 'list
>>> which exceed GCL's call-arguments-limit when translating boot files to
>>> .clisp.  2.6.x was not rigorous about enforcing this, but 2.7.0 is.
>>> Where should I look in the boot parser source to suggest a patch
>>> breaking this into an nconc of several compliant list calls, or better
>>> yet just writing a quoted list (since apparently all contents are
>>> strings) which the reader can handle just fine?
>>
>> AFAICS this is handled in 'src/boot/tytree1.boot'.  Note that in
>> FriCAS lists are mutable and Boot code makes significant use of
>> of mutation.  So translating _all_ list construction to quoted
>> lists would be wrong.  Boot really does not look at control/data
>> flow so finding out possibilties to use quoted lists is probably
>> not practical.
>>
>> The simplest solution may be shadowing Lisp LIST and using a macro
>> instead.
>
> -- 
> Camm Maguire                                      camm@maguirefamily.org
> ==========================================================================
> "The earth is but one country, and mankind its citizens."  --  Baha'u'llah

-- 
Camm Maguire                                        camm@maguirefamily.org
==========================================================================
"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]