[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