Re: [fricas-devel] regression on windows

2024-05-13 Thread Waldek Hebisch
On Tue, May 14, 2024 at 02:07:28AM +0200, Waldek Hebisch wrote:
> 
> Little extra info: if I force call to 'updateCategoryTable' I get
> failure.  If I load first 'UnivariatePuiseuxSeries' without
> 'updateCategoryTable' and force 'updateCategoryTable' for other
> loaded domains, then there is no failure.  If I do 'updateCategoryTable'
> _only_ for 'UnivariatePuiseuxSeries', then also there is no
> failure.  So, it seems that failure is related to multiple
> calls to 'updateCategoryTable'

It seems that I found core trouble.  There is huge search for
possible operations.   In this case "correct" operation
is declared by RightModule.  Float needs to be coerced to
Expression(Float) and UnivariatePuiseuxSeries(Expression(Integer),x,0)
to UnivariatePuiseuxSeries(Expression(Integer),x,0)

Using fresh database

)boot get_database(['UnivariatePuiseuxSeries, :'RightModule], 'HASCATEGORY)

(EVAL-WHEN (:EXECUTE :LOAD-TOPLEVEL)
  (PROG ()
(RETURN
 (|get_database| (CONS '|UnivariatePuiseuxSeries| '|RightModule|)
 'HASCATEGORY
Value = (((|#1|) . T)
 (((|Fraction| (|Integer|))) OR
  (|has| |#1| (|Algebra| (|Fraction| (|Integer|
  (|has| |#1| (|Field|)))
 ((%) . T))

first position above, that is '((|#1|) . T)' means that
UnivariatePuiseuxSeries unconditianlly has RightModule(#1), where #1
is first parameter to UnivariatePuiseuxSeries.  Second position
gives conditions for UnivariatePuiseuxSeries to have
RightModule(Fraction(Integer)) and the third conditions for
RightModule(%).  From signature we need RightModule(Float),
the first position gives RightModule(Expression(Integer)) and
matching code resolves Float and Expression(Integer) to
Expression(Float).  This satisfies later checks and is OK.

After 'updateCategoryTable' we get different list:

Value = |Fraction| (|Integer|))) OR (|has| |#1| (|Field|))
  (|has| |#1| (|Algebra| (|Fraction| (|Integer|)
 ((%) . T) ((|#1|) . T))

So thist time consition for RightModule(Fraction(Integer)) is
first.  Again, we need RightModule(Float) and matching code
resolves Fraction(Integer) and Float to Float.  However, this
fails later checks.

So the core trouble is that search for signatures early commits
to first plausible alternative.  Exhaustive seach should try
all possibilities, but this is not done.

-- 
  Waldek Hebisch

-- 
You received this message because you are subscribed to the Google Groups 
"FriCAS - computer algebra system" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to fricas-devel+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/fricas-devel/ZkLZuJCQmW19gIZv%40fricas.org.


Re: [fricas-devel] regression on windows

2024-05-13 Thread Waldek Hebisch
On Tue, May 14, 2024 at 08:05:58AM +0800, Qian Yun wrote:
> I didn't realize that "isSystemDirectory" checks for prefix.
> Well, it also needs to check for string length, otherwise it
> will mistakenly accept shorter paths.

Yes

> The following patch passes CI test now.
> 
> Please commit it if it looks good to you as well.

Looks good.

> - Qian
> 
> diff --git a/src/interp/lisplib.boot b/src/interp/lisplib.boot
> index 9c37eacc..b11d9603 100644
> --- a/src/interp/lisplib.boot
> +++ b/src/interp/lisplib.boot
> @@ -71,7 +71,7 @@ loadLibIfNotLoaded libName ==
>  loadLib cname ==
>startTimingProcess 'load
>fullLibName := get_database(cname, 'OBJECT) or return nil
> -  systemdir? := isSystemDirectory(pathnameDirectory fullLibName)
> +  systemdir? := isSystemDirectory(fullLibName)
>update? := not systemdir?
>loadLibNoUpdate1(cname, fullLibName)
>kind := get_database(cname, 'CONSTRUCTORKIND)
> diff --git a/src/interp/pathname.boot b/src/interp/pathname.boot
> index 7bd1f1b3..c350733f 100644
> --- a/src/interp/pathname.boot
> +++ b/src/interp/pathname.boot
> @@ -61,4 +61,6 @@ isExistingFile f ==
> 
>  --% Scratchpad II File Name Functions
> 
> -isSystemDirectory dir == EVERY(function CHAR_=,$spadroot,dir)
> +isSystemDirectory path ==
> +  -- check if $spadroot is the prefix of 'path'
> +  # path >= # $spadroot and EVERY(function CHAR_=, $spadroot, path)
> 
> 
> On 5/14/24 01:40, Waldek Hebisch wrote:
> > On Mon, May 13, 2024 at 08:52:12PM +0800, Qian Yun wrote:
> > > The following patch works.
> > > 
> > > Do we need to compare PATHNAME_-DEVICE as well
> > > (returns "C" in this case) in 'isSystemDirectory'?
> > 
> > I would prefer different approach.  I mean, the patch may be correct
> > solution to problem "Do two Windows paths point to the same file?"
> > (for such problem you probably want to include PATHNAME_-DEVICE).
> > What I do not like is fact that this would propagate Windows
> > weirdness deper into FriCAS code.
> > 
> > Pathname here comes from 'get_database' and in 'get_database' be
> > have
> > 
> >  if key = 'OBJECT then
> >  if CONSP(data) then
> >  data := first(data)
> >  if NULL(PATHNAME_-DIRECTORY(data)) then
> >  data := STRCONC($spadroot, '"/algebra/", data,
> > '".", $lisp_bin_filetype)
> >  data
> > 
> > So, returned patname has '$spadroot' as a prefix and AFAICS all we need
> > is to avoid mangling the pathname.  Maybe just remove 'pathnameDirectory'
> > call (that is use first part of the patch without the second  part).
> 
> -- 
> You received this message because you are subscribed to the Google Groups 
> "FriCAS - computer algebra system" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to fricas-devel+unsubscr...@googlegroups.com.
> To view this discussion on the web visit 
> https://groups.google.com/d/msgid/fricas-devel/8d78f114-eab8-4688-837d-b2306b9b50de%40gmail.com.

-- 
  Waldek Hebisch

-- 
You received this message because you are subscribed to the Google Groups 
"FriCAS - computer algebra system" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to fricas-devel+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/fricas-devel/ZkKuLW4kyy7PTrqa%40fricas.org.


Re: [fricas-devel] regression on windows

2024-05-13 Thread Waldek Hebisch
On Mon, May 13, 2024 at 01:05:03PM +0200, Waldek Hebisch wrote:
> On Mon, May 13, 2024 at 06:32:10PM +0800, Qian Yun wrote:
> > I modified i-coerce.boot, then in FRICASsys,
> >   )read i-coerce
> >   )lisp (defun GLESSEQP (X Y) (BREAK))
> >   series(sin x)
> > 
> > The above has no problem in Linux, but fails under
> > windows, backtrace is in attachment.
> 
> AFAICS there is something wrong on Windows with detection of
> system directories.  "Integer" is system domain and
> 'updateCategoryTable' should not be called for it.
> 
> On Linux, when I force call to 'updateCategoryTable' I get
> the same failure as on Windows.
> 
> In principle extra 'updateCategoryTable' should cause no trouble,
> ATM I do not know why it triggers failue in the test.

Little extra info: if I force call to 'updateCategoryTable' I get
failure.  If I load first 'UnivariatePuiseuxSeries' without
'updateCategoryTable' and force 'updateCategoryTable' for other
loaded domains, then there is no failure.  If I do 'updateCategoryTable'
_only_ for 'UnivariatePuiseuxSeries', then also there is no
failure.  So, it seems that failure is related to multiple
calls to 'updateCategoryTable'

-- 
  Waldek Hebisch

-- 
You received this message because you are subscribed to the Google Groups 
"FriCAS - computer algebra system" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to fricas-devel+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/fricas-devel/ZkKrQIUrmeUcho5O%40fricas.org.


Re: [fricas-devel] regression on windows

2024-05-13 Thread Qian Yun

I didn't realize that "isSystemDirectory" checks for prefix.
Well, it also needs to check for string length, otherwise it
will mistakenly accept shorter paths.

The following patch passes CI test now.

Please commit it if it looks good to you as well.

- Qian

diff --git a/src/interp/lisplib.boot b/src/interp/lisplib.boot
index 9c37eacc..b11d9603 100644
--- a/src/interp/lisplib.boot
+++ b/src/interp/lisplib.boot
@@ -71,7 +71,7 @@ loadLibIfNotLoaded libName ==
 loadLib cname ==
   startTimingProcess 'load
   fullLibName := get_database(cname, 'OBJECT) or return nil
-  systemdir? := isSystemDirectory(pathnameDirectory fullLibName)
+  systemdir? := isSystemDirectory(fullLibName)
   update? := not systemdir?
   loadLibNoUpdate1(cname, fullLibName)
   kind := get_database(cname, 'CONSTRUCTORKIND)
diff --git a/src/interp/pathname.boot b/src/interp/pathname.boot
index 7bd1f1b3..c350733f 100644
--- a/src/interp/pathname.boot
+++ b/src/interp/pathname.boot
@@ -61,4 +61,6 @@ isExistingFile f ==

 --% Scratchpad II File Name Functions

-isSystemDirectory dir == EVERY(function CHAR_=,$spadroot,dir)
+isSystemDirectory path ==
+  -- check if $spadroot is the prefix of 'path'
+  # path >= # $spadroot and EVERY(function CHAR_=, $spadroot, path)


On 5/14/24 01:40, Waldek Hebisch wrote:

On Mon, May 13, 2024 at 08:52:12PM +0800, Qian Yun wrote:

The following patch works.

Do we need to compare PATHNAME_-DEVICE as well
(returns "C" in this case) in 'isSystemDirectory'?


I would prefer different approach.  I mean, the patch may be correct
solution to problem "Do two Windows paths point to the same file?"
(for such problem you probably want to include PATHNAME_-DEVICE).
What I do not like is fact that this would propagate Windows
weirdness deper into FriCAS code.

Pathname here comes from 'get_database' and in 'get_database' be
have

 if key = 'OBJECT then
 if CONSP(data) then
 data := first(data)
 if NULL(PATHNAME_-DIRECTORY(data)) then
 data := STRCONC($spadroot, '"/algebra/", data,
'".", $lisp_bin_filetype)
 data

So, returned patname has '$spadroot' as a prefix and AFAICS all we need
is to avoid mangling the pathname.  Maybe just remove 'pathnameDirectory'
call (that is use first part of the patch without the second  part).
  


--
You received this message because you are subscribed to the Google Groups "FriCAS - 
computer algebra system" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to fricas-devel+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/fricas-devel/8d78f114-eab8-4688-837d-b2306b9b50de%40gmail.com.


Re: [fricas-devel] regression on windows

2024-05-13 Thread Waldek Hebisch
On Mon, May 13, 2024 at 08:52:12PM +0800, Qian Yun wrote:
> The following patch works.
> 
> Do we need to compare PATHNAME_-DEVICE as well
> (returns "C" in this case) in 'isSystemDirectory'?

I would prefer different approach.  I mean, the patch may be correct
solution to problem "Do two Windows paths point to the same file?"
(for such problem you probably want to include PATHNAME_-DEVICE).
What I do not like is fact that this would propagate Windows
weirdness deper into FriCAS code.

Pathname here comes from 'get_database' and in 'get_database' be
have

if key = 'OBJECT then
if CONSP(data) then
data := first(data)
if NULL(PATHNAME_-DIRECTORY(data)) then
data := STRCONC($spadroot, '"/algebra/", data,
   '".", $lisp_bin_filetype)
data

So, returned patname has '$spadroot' as a prefix and AFAICS all we need
is to avoid mangling the pathname.  Maybe just remove 'pathnameDirectory'
call (that is use first part of the patch without the second  part).
 
> - Qian
> 
> diff --git a/src/interp/lisplib.boot b/src/interp/lisplib.boot
> index 9c37eacc..b11d9603 100644
> --- a/src/interp/lisplib.boot
> +++ b/src/interp/lisplib.boot
> @@ -71,7 +71,7 @@ loadLibIfNotLoaded libName ==
>  loadLib cname ==
>startTimingProcess 'load
>fullLibName := get_database(cname, 'OBJECT) or return nil
> -  systemdir? := isSystemDirectory(pathnameDirectory fullLibName)
> +  systemdir? := isSystemDirectory(fullLibName)
>update? := not systemdir?
>loadLibNoUpdate1(cname, fullLibName)
>kind := get_database(cname, 'CONSTRUCTORKIND)
> diff --git a/src/interp/pathname.boot b/src/interp/pathname.boot
> index 7bd1f1b3..5a81eb49 100644
> --- a/src/interp/pathname.boot
> +++ b/src/interp/pathname.boot
> @@ -61,4 +61,7 @@ isExistingFile f ==
> 
>  --% Scratchpad II File Name Functions
> 
> -isSystemDirectory dir == EVERY(function CHAR_=,$spadroot,dir)
> +isSystemDirectory file ==
> +  p1 := BUTLAST PATHNAME_-DIRECTORY file
> +  p2 := PATHNAME_-DIRECTORY pad_directory_name $spadroot
> +  p1 = p2
> 
> 
> On 5/13/24 19:52, Qian Yun wrote:
> > Yes, make 'updateCategoryTable' a no-op and the problem goes away.
> > 
> > As for the system directory issue:
> > 
> > (3) -> )boot get_database('Integer, 'OBJECT)
> > 
> > (EVAL-WHEN (:EXECUTE :LOAD-TOPLEVEL)
> >    (PROG () (RETURN (|get_database| '|Integer| 'OBJECT
> > Value =
> > "C:/msys64/home/oldk1331/build/target/x86_64-w64-mingw32/algebra/INT.fasl"
> > (3) -> )boot pathnameDirectory get_database('Integer, 'OBJECT)
> > 
> > (EVAL-WHEN (:EXECUTE :LOAD-TOPLEVEL)
> >    (PROG () (RETURN (|pathnameDirectory| (|get_database| '|Integer|
> > 'OBJECT)
> > Value = "/msys64/home/oldk1331/build/target/x86_64-w64-mingw32/algebra/"
> > (3) -> )boot isSystemDirectory pathnameDirectory get_database('Integer,
> > 'OBJECT)
> > 
> > (EVAL-WHEN (:EXECUTE :LOAD-TOPLEVEL)
> >    (PROG ()
> >      (RETURN
> >   (|isSystemDirectory|
> >    (|pathnameDirectory| (|get_database| '|Integer| 'OBJECT))
> > Value = NIL
> > 
> > 
> > I'll look into where this originates and how to fix it.
> > 
> > - Qian
> > 
> > On 5/13/24 19:05, Waldek Hebisch wrote:
> > > On Mon, May 13, 2024 at 06:32:10PM +0800, Qian Yun wrote:
> > > > I modified i-coerce.boot, then in FRICASsys,
> > > >    )read i-coerce
> > > >    )lisp (defun GLESSEQP (X Y) (BREAK))
> > > >    series(sin x)
> > > > 
> > > > The above has no problem in Linux, but fails under
> > > > windows, backtrace is in attachment.
> > > 
> > > AFAICS there is something wrong on Windows with detection of
> > > system directories.  "Integer" is system domain and
> > > 'updateCategoryTable' should not be called for it.
> > > 
> > > On Linux, when I force call to 'updateCategoryTable' I get
> > > the same failure as on Windows.
> > > 
> > > In principle extra 'updateCategoryTable' should cause no trouble,
> > > ATM I do not know why it triggers failue in the test.
> > > 
> 
> -- 
> You received this message because you are subscribed to the Google Groups 
> "FriCAS - computer algebra system" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to fricas-devel+unsubscr...@googlegroups.com.
> To view this discussion on the web visit 
> https://groups.google.com/d/msgid/fricas-devel/7c1898ff-ed3e-4f9d-b74c-06796d644e2d%40gmail.com.

-- 
  Waldek Hebisch

-- 
You received this message because you are subscribed to the Google Groups 
"FriCAS - computer algebra system" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to fricas-devel+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/fricas-devel/ZkJQfcWrAZ4fOqv6%40fricas.org.


Re: [fricas-devel] regression on windows

2024-05-13 Thread Qian Yun

The following patch works.

Do we need to compare PATHNAME_-DEVICE as well
(returns "C" in this case) in 'isSystemDirectory'?

- Qian

diff --git a/src/interp/lisplib.boot b/src/interp/lisplib.boot
index 9c37eacc..b11d9603 100644
--- a/src/interp/lisplib.boot
+++ b/src/interp/lisplib.boot
@@ -71,7 +71,7 @@ loadLibIfNotLoaded libName ==
 loadLib cname ==
   startTimingProcess 'load
   fullLibName := get_database(cname, 'OBJECT) or return nil
-  systemdir? := isSystemDirectory(pathnameDirectory fullLibName)
+  systemdir? := isSystemDirectory(fullLibName)
   update? := not systemdir?
   loadLibNoUpdate1(cname, fullLibName)
   kind := get_database(cname, 'CONSTRUCTORKIND)
diff --git a/src/interp/pathname.boot b/src/interp/pathname.boot
index 7bd1f1b3..5a81eb49 100644
--- a/src/interp/pathname.boot
+++ b/src/interp/pathname.boot
@@ -61,4 +61,7 @@ isExistingFile f ==

 --% Scratchpad II File Name Functions

-isSystemDirectory dir == EVERY(function CHAR_=,$spadroot,dir)
+isSystemDirectory file ==
+  p1 := BUTLAST PATHNAME_-DIRECTORY file
+  p2 := PATHNAME_-DIRECTORY pad_directory_name $spadroot
+  p1 = p2


On 5/13/24 19:52, Qian Yun wrote:

Yes, make 'updateCategoryTable' a no-op and the problem goes away.

As for the system directory issue:

(3) -> )boot get_database('Integer, 'OBJECT)

(EVAL-WHEN (:EXECUTE :LOAD-TOPLEVEL)
   (PROG () (RETURN (|get_database| '|Integer| 'OBJECT
Value = 
"C:/msys64/home/oldk1331/build/target/x86_64-w64-mingw32/algebra/INT.fasl"

(3) -> )boot pathnameDirectory get_database('Integer, 'OBJECT)

(EVAL-WHEN (:EXECUTE :LOAD-TOPLEVEL)
   (PROG () (RETURN (|pathnameDirectory| (|get_database| '|Integer| 
'OBJECT)

Value = "/msys64/home/oldk1331/build/target/x86_64-w64-mingw32/algebra/"
(3) -> )boot isSystemDirectory pathnameDirectory get_database('Integer, 
'OBJECT)


(EVAL-WHEN (:EXECUTE :LOAD-TOPLEVEL)
   (PROG ()
     (RETURN
  (|isSystemDirectory|
   (|pathnameDirectory| (|get_database| '|Integer| 'OBJECT))
Value = NIL


I'll look into where this originates and how to fix it.

- Qian

On 5/13/24 19:05, Waldek Hebisch wrote:

On Mon, May 13, 2024 at 06:32:10PM +0800, Qian Yun wrote:

I modified i-coerce.boot, then in FRICASsys,
   )read i-coerce
   )lisp (defun GLESSEQP (X Y) (BREAK))
   series(sin x)

The above has no problem in Linux, but fails under
windows, backtrace is in attachment.


AFAICS there is something wrong on Windows with detection of
system directories.  "Integer" is system domain and
'updateCategoryTable' should not be called for it.

On Linux, when I force call to 'updateCategoryTable' I get
the same failure as on Windows.

In principle extra 'updateCategoryTable' should cause no trouble,
ATM I do not know why it triggers failue in the test.



--
You received this message because you are subscribed to the Google Groups "FriCAS - 
computer algebra system" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to fricas-devel+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/fricas-devel/7c1898ff-ed3e-4f9d-b74c-06796d644e2d%40gmail.com.


Re: [fricas-devel] regression on windows

2024-05-13 Thread Qian Yun

Yes, make 'updateCategoryTable' a no-op and the problem goes away.

As for the system directory issue:

(3) -> )boot get_database('Integer, 'OBJECT)

(EVAL-WHEN (:EXECUTE :LOAD-TOPLEVEL)
  (PROG () (RETURN (|get_database| '|Integer| 'OBJECT
Value = 
"C:/msys64/home/oldk1331/build/target/x86_64-w64-mingw32/algebra/INT.fasl"

(3) -> )boot pathnameDirectory get_database('Integer, 'OBJECT)

(EVAL-WHEN (:EXECUTE :LOAD-TOPLEVEL)
  (PROG () (RETURN (|pathnameDirectory| (|get_database| '|Integer| 
'OBJECT)

Value = "/msys64/home/oldk1331/build/target/x86_64-w64-mingw32/algebra/"
(3) -> )boot isSystemDirectory pathnameDirectory get_database('Integer, 
'OBJECT)


(EVAL-WHEN (:EXECUTE :LOAD-TOPLEVEL)
  (PROG ()
(RETURN
 (|isSystemDirectory|
  (|pathnameDirectory| (|get_database| '|Integer| 'OBJECT))
Value = NIL


I'll look into where this originates and how to fix it.

- Qian

On 5/13/24 19:05, Waldek Hebisch wrote:

On Mon, May 13, 2024 at 06:32:10PM +0800, Qian Yun wrote:

I modified i-coerce.boot, then in FRICASsys,
   )read i-coerce
   )lisp (defun GLESSEQP (X Y) (BREAK))
   series(sin x)

The above has no problem in Linux, but fails under
windows, backtrace is in attachment.


AFAICS there is something wrong on Windows with detection of
system directories.  "Integer" is system domain and
'updateCategoryTable' should not be called for it.

On Linux, when I force call to 'updateCategoryTable' I get
the same failure as on Windows.

In principle extra 'updateCategoryTable' should cause no trouble,
ATM I do not know why it triggers failue in the test.



--
You received this message because you are subscribed to the Google Groups "FriCAS - 
computer algebra system" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to fricas-devel+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/fricas-devel/c0f97af1-d2ac-4bb1-8f7a-2488db50c0d0%40gmail.com.


Re: [fricas-devel] regression on windows

2024-05-13 Thread Waldek Hebisch
On Mon, May 13, 2024 at 06:32:10PM +0800, Qian Yun wrote:
> I modified i-coerce.boot, then in FRICASsys,
>   )read i-coerce
>   )lisp (defun GLESSEQP (X Y) (BREAK))
>   series(sin x)
> 
> The above has no problem in Linux, but fails under
> windows, backtrace is in attachment.

AFAICS there is something wrong on Windows with detection of
system directories.  "Integer" is system domain and
'updateCategoryTable' should not be called for it.

On Linux, when I force call to 'updateCategoryTable' I get
the same failure as on Windows.

In principle extra 'updateCategoryTable' should cause no trouble,
ATM I do not know why it triggers failue in the test.

-- 
  Waldek Hebisch

-- 
You received this message because you are subscribed to the Google Groups 
"FriCAS - computer algebra system" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to fricas-devel+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/fricas-devel/ZkHz3z3z_BZ2EnsX%40fricas.org.


Re: [fricas-devel] regression on windows

2024-05-13 Thread Qian Yun

I modified i-coerce.boot, then in FRICASsys,
  )read i-coerce
  )lisp (defun GLESSEQP (X Y) (BREAK))
  series(sin x)

The above has no problem in Linux, but fails under
windows, backtrace is in attachment.

- Qian

On 5/13/24 18:10, Waldek Hebisch wrote:

On Mon, May 13, 2024 at 05:07:56PM +0800, Qian Yun wrote:

Some other updates:

This happens for Clozure CL as well.

This does not happen for fricas0, either compile-mode or
interpret-mode.


Very strange indeed.

I'll compare call stack to interpreter later.


On Linux I can do the following and the example still works:

1) Disable 'canCoercePermute' and 'coerceIntPermute' by adding

 true => nil

as first line

2) Replace GLESSEQP by the following:

(defun GLESSEQP (X Y) (BREAK))

Which means that 'coerceIntPermute' is the only place using
'GLESSEQP' to handle the example (in fact cases when it is used
are quite rare).

I wonder if on Windows there are extra uses of GLESSEQP?  The above
would allow to find them.



--
You received this message because you are subscribed to the Google Groups "FriCAS - 
computer algebra system" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to fricas-devel+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/fricas-devel/5c3233a1-e2c5-4936-987b-8119dd064aa4%40gmail.com.
(1) -> series(sin x)

debugger invoked on a SIMPLE-CONDITION in thread
#:
  break

Type HELP for debugger help, or (SB-EXT:EXIT) to exit from SBCL.

restarts (invokable by number or by possibly-abbreviated name):
  0: [CONTINUE] Return from BREAK.
  1: [ABORT   ] Exit from the current thread.

(SB-EVAL::EVAL-BLOCK (GLESSEQP (BREAK)) #)
0] :backtrace

Backtrace for: #
0: (SB-EVAL::EVAL-BLOCK (GLESSEQP (BREAK)) #)
1: (|mergeSort| # # 
((|OMwrite| ((|Void|) (|OpenMathDevice|) % (|Boolean|)) . T) (|OMwrite| 
((|Void|) (|OpenMathDevice|) %) . T)) 2) 
2: (|mergeSort| # # 
# 4)
3: (|categoryParts1| |category| (|OpenMath|) (|Join| (CATEGORY |domain| 
(SIGNATURE |OMwrite| ((|String|) %)) (SIGNATURE |OMwrite| ((|String|) % 
(|Boolean|))) (SIGNATURE |OMwrite| ((|Void|) 
(|OpenMathDevice|) %)) (SIGNATURE |OMwrite| ((|Void|) (|OpenMathDevice|) % 
(|Boolean|) T)
4: (|mkCategoryExtensionAlist| (|OpenMath|))
5: (|getCategoryExtensionAlist0| (|OpenMath|))
6: (|addDomainToTable| |Integer| ((|IntegerNumberSystem|) 
(|LinearlyExplicitOver| (|Integer|)) (|PolynomialFactorizationExplicit|) 
(|ConvertibleTo| (|String|)) (|OpenMath|) (|Canonical|) (|
canonicalsClosed|) (|Hashable|)))
7: (|updateCategoryTableForDomain| |Integer| ((|IntegerNumberSystem|) 
(|LinearlyExplicitOver| (|Integer|)) (|PolynomialFactorizationExplicit|) 
(|ConvertibleTo| (|String|)) (|OpenMath|) (|Ca
nonical|) (|canonicalsClosed|) (|Hashable|)))
8: (|updateCategoryTable| |Integer| |domain|)
9: (|loadLib| |Integer|)
10: ((LAMBDA (&REST ARGS) :IN |mkAutoLoad|))
11: (SB-EVAL::EVAL-ARGS ((|Integer|)) #)
12: (SB-EVAL::%EVAL (|Expression| (|Integer|)) #)
13: (SB-EVAL:EVAL-IN-NATIVE-ENVIRONMENT (|Expression| (|Integer|)) 
#)
14: (EVAL (|Expression| (|Integer|)))
15: (|eval| (|Expression| (|Integer|)))
16: (|evalDomain| (|Expression| (|Integer|)))
17: (|interpLookup;| |coerce| (% (|Symbol|)) (|Expression| (|Integer|)))
18: (|interpLookup| |coerce| (% (|Symbol|)) (|Expression| (|Integer|)))
19: (|coerceByFunction| ((|Symbol|) WRAPPED . |x|) (|Expression| (|Integer|)))
20: (|coerceIntTower| ((|Symbol|) WRAPPED . |x|) (|Expression| (|Integer|)))
21: (|coerceInt1| ((|Symbol|) WRAPPED . |x|) (|Expression| (|Integer|)))
22: (|coerceInt| ((|Symbol|) WRAPPED . |x|) (|Expression| (|Integer|)))
23: (|coerceInt0| ((|Variable| |x|) WRAPPED . |x|) (|Expression| (|Integer|)))
24: (|coerceInteractive| ((|Variable| |x|) WRAPPED . |x|) (|Expression| 
(|Integer|)))
25: (|coerceOrRetract| ((|Variable| |x|) WRAPPED . |x|) (|Expression| 
(|Integer|)))
26: (|getArgValue1| #(|x| NIL (#1=(|Variable| |x|) WRAPPED . |x|) (#1#) 
((|totalArgs| . 1) (|argumentNumber| . 1) (|callingFunction| . |sin|))) 
(|Expression| (|Integer|)))
27: (|getArgValue| #(|x| NIL (#1=(|Variable| |x|) WRAPPED . |x|) (#1#) 
((|totalArgs| . 1) (|argumentNumber| . 1) (|callingFunction| . |sin|))) 
(|Expression| (|Integer|)))
28: (|evalForm| #(|sin| NIL NIL NIL ((|totalArgs| . 1) (|argumentNumber| . 1) 
(|callingFunction| . |series|))) |sin| (#(|x| NIL (#1=(|Variable| |x|) WRAPPED 
. |x|) (#1#) ((|totalArgs| . 1) 
(|argumentNumber| . 1) (|callingFunction| . |sin| (((#1=(|Expression| 
(|Integer|)) #1# #1#) (% %) (NIL
29: (|bottomUpForm2| (#(|sin| NIL NIL NIL ((|totalArgs| . 1) (|argumentNumber| 
. 1) (|callingFunction| . |series|))) #(|x| NIL (#1=(|Variable| |x|) WRAPPED . 
|x|) (#1#) ((|totalArgs| . 1) (
|argumentNumber| . 1) (|callingFunction| . |sin| #(|sin| NIL NIL NIL 
((|totalArgs| . 1) (|argumentNumber| . 1) (|callingFunction| . |series|))) 
|sin| (#(|x| NIL (#1=(|Variable| |x|) WRA
PPED . |x|) (#1#) ((|totalArgs| . 1) (|argumentNumber| . 1) (|cal

Re: [fricas-devel] regression on windows

2024-05-13 Thread Waldek Hebisch
On Mon, May 13, 2024 at 05:07:56PM +0800, Qian Yun wrote:
> Some other updates:
> 
> This happens for Clozure CL as well.
> 
> This does not happen for fricas0, either compile-mode or
> interpret-mode.
> 
> 
> Very strange indeed.
> 
> I'll compare call stack to interpreter later.

On Linux I can do the following and the example still works:

1) Disable 'canCoercePermute' and 'coerceIntPermute' by adding

true => nil

as first line

2) Replace GLESSEQP by the following:

(defun GLESSEQP (X Y) (BREAK))

Which means that 'coerceIntPermute' is the only place using
'GLESSEQP' to handle the example (in fact cases when it is used
are quite rare).

I wonder if on Windows there are extra uses of GLESSEQP?  The above
would allow to find them.

-- 
  Waldek Hebisch

-- 
You received this message because you are subscribed to the Google Groups 
"FriCAS - computer algebra system" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to fricas-devel+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/fricas-devel/ZkHnHOaWticbP78x%40fricas.org.


Re: [fricas-devel] regression on windows

2024-05-13 Thread Qian Yun

Some other updates:

This happens for Clozure CL as well.

This does not happen for fricas0, either compile-mode or
interpret-mode.


Very strange indeed.

I'll compare call stack to interpreter later.

- Qian

On 5/13/24 09:51, Waldek Hebisch wrote:

On Mon, May 13, 2024 at 08:23:20AM +0800, Qian Yun wrote:

The *.daase generated on linux and windows are *exactly* the same
(except for the timestamp, of course).


Thanks, so that was bad guess.



--
You received this message because you are subscribed to the Google Groups "FriCAS - 
computer algebra system" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to fricas-devel+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/fricas-devel/b31343fe-feae-4bca-9889-9ad5a21da590%40gmail.com.


Re: [fricas-devel] regression on windows

2024-05-12 Thread Waldek Hebisch
On Mon, May 13, 2024 at 08:23:20AM +0800, Qian Yun wrote:
> The *.daase generated on linux and windows are *exactly* the same
> (except for the timestamp, of course).

Thanks, so that was bad guess.

> The corresponding fricas0 changes is here, is this expected?
> 
> https://github.com/oldk1331/fricas0-repo/commit/74b1193cfcf2f33909f8bad55785c14cf9e02cd8.patch

Yes.  AFAICS there is the same info, just put is somewhat different
order (which is expected with change of order predicate).

> BTW, can you explain a bit more about the thoughts behind
> this commit?  Is GGREATERP in Fractored next step?

Yes.  In my developement tree Factored works without using Lisp
order (I added extra code to handle unordered domains).

After that GGREATERP will be unused an can be removed.

Goal of this is to have simpler and sound code: the ordering functions
had irreqularities so they actually failed definiton of order.
GGREATERP in principle depends on internals of Lisp implementation.

AFAICS 'lt_sexp' is actually an order and it refuses to handle
anything potentially problematic.

Change to ordering predicate also leads to change in output of
')show'.  I view this as good change: prevous order had tendency
to put more complex signatures first, current prefers simpler
ones first.

I consider anything depending on details of previous ordering
functions as a potential bug, in particular type checking should
not depend on details of order.  It depends on order in various
places being the same, but using single order reduces possibility
of accidentally using different orders.

So, each change has risk of breaking something, but I think that
once we work out accidental breakage we will have cleaner and
more robust code.

-- 
  Waldek Hebisch

-- 
You received this message because you are subscribed to the Google Groups 
"FriCAS - computer algebra system" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to fricas-devel+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/fricas-devel/ZkFyPBoz-2qAHAtL%40fricas.org.


Re: [fricas-devel] regression on windows

2024-05-12 Thread Qian Yun

The *.daase generated on linux and windows are *exactly* the same
(except for the timestamp, of course).

The corresponding fricas0 changes is here, is this expected?

https://github.com/oldk1331/fricas0-repo/commit/74b1193cfcf2f33909f8bad55785c14cf9e02cd8.patch

BTW, can you explain a bit more about the thoughts behind
this commit?  Is GGREATERP in Fractored next step?

- Qian

On 5/13/24 07:59, Waldek Hebisch wrote:

On Sun, May 12, 2024 at 07:44:50PM +0200, Waldek Hebisch wrote:


AFAICS uses of GLESSEQP during this computation are trivial.
I think that real impact of GLESSEQP is on database structure.
More precisely, that entries in 'interp.daase' and other
databases are in different order.


It is worth checking if the trouble still happens when you use
databases created on Linux?  And if error happens on Linux
when using databases created on Windows?

BTW: it seems that there is a difference between databases
created by ECL and databases created by sbcl.  There is unused
"slot" in modemaps, AFAICS this slot has value 6 when using
sbcl, but is NIL with ECL.  This difference affects ordering.
I am not sure if all differences can be explained by this
useless slot.



--
You received this message because you are subscribed to the Google Groups "FriCAS - 
computer algebra system" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to fricas-devel+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/fricas-devel/ccd0df5b-58c5-4921-a102-0db542ab4568%40gmail.com.


Re: [fricas-devel] regression on windows

2024-05-12 Thread Waldek Hebisch
On Sun, May 12, 2024 at 07:44:50PM +0200, Waldek Hebisch wrote:
> 
> AFAICS uses of GLESSEQP during this computation are trivial.
> I think that real impact of GLESSEQP is on database structure.
> More precisely, that entries in 'interp.daase' and other
> databases are in different order.

It is worth checking if the trouble still happens when you use
databases created on Linux?  And if error happens on Linux
when using databases created on Windows?

BTW: it seems that there is a difference between databases
created by ECL and databases created by sbcl.  There is unused
"slot" in modemaps, AFAICS this slot has value 6 when using
sbcl, but is NIL with ECL.  This difference affects ordering.
I am not sure if all differences can be explained by this
useless slot.

-- 
  Waldek Hebisch

-- 
You received this message because you are subscribed to the Google Groups 
"FriCAS - computer algebra system" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to fricas-devel+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/fricas-devel/ZkFX8AiZ6iFMaBNH%40fricas.org.


Re: [fricas-devel] regression on windows

2024-05-12 Thread Waldek Hebisch
On Sun, May 12, 2024 at 04:01:56PM +0200, Grégory Vanuxem wrote:
> Hello,
> 
> I have also found this but the problem seems more complicate:
> 
> On WSL2/Linux (uname -a:  Linux ellipse
> 5.15.146.1-microsoft-standard-WSL2 #1 SMP Thu Jan 11 04:09:03 UTC 2024
> x86_64 GNU/Linux):
> 
> Checking for foreign routines
> FRICAS="/usr/local/lib/fricas/target/x86_64-linux-gnu"
> spad-lib="/usr/local/lib/fricas/target/x86_64-linux-gnu//lib/libspad.so"
> foreign routines found
> openServer result -2
>FriCAS Computer Algebra System
>   Version: FriCAS 1.3.11-dev built with SBCL 2.4.4
>   Timestamp: dim. 12 mai 2024 15:40:31 CEST
> -
>Issue )copyright to view copyright notices.
>Issue )summary for a summary of useful system commands.
>Issue )quit to leave FriCAS and return to shell.
> -
> 
> (1) -> )tr GLESSEQP
> 
>Function traced: GLESSEQP
> (1) -> a:=series sin(x)
>  1  1>exit  GLESSEQP : NIL

AFAICS uses of GLESSEQP during this computation are trivial.
I think that real impact of GLESSEQP is on database structure.
More precisely, that entries in 'interp.daase' and other
databases are in different order.

-- 
  Waldek Hebisch

-- 
You received this message because you are subscribed to the Google Groups 
"FriCAS - computer algebra system" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to fricas-devel+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/fricas-devel/ZkEAEhcZY_K99CJL%40fricas.org.


Re: [fricas-devel] regression on windows

2024-05-12 Thread Grégory Vanuxem
Hello,

I have also found this but the problem seems more complicate:

On WSL2/Linux (uname -a:  Linux ellipse
5.15.146.1-microsoft-standard-WSL2 #1 SMP Thu Jan 11 04:09:03 UTC 2024
x86_64 GNU/Linux):

Checking for foreign routines
FRICAS="/usr/local/lib/fricas/target/x86_64-linux-gnu"
spad-lib="/usr/local/lib/fricas/target/x86_64-linux-gnu//lib/libspad.so"
foreign routines found
openServer result -2
   FriCAS Computer Algebra System
  Version: FriCAS 1.3.11-dev built with SBCL 2.4.4
  Timestamp: dim. 12 mai 2024 15:40:31 CEST
-
   Issue )copyright to view copyright notices.
   Issue )summary for a summary of useful system commands.
   Issue )quit to leave FriCAS and return to shell.
-

(1) -> )tr GLESSEQP

   Function traced: GLESSEQP
(1) -> a:=series sin(x)
 1exit  GLESSEQP : NIL

1  31   5 1   7  19   1 11  12
   (1)  x - - x  + --- x  -  x  + -- x  -  x   + O(x  )
6  120  5040  362880  39916800
   Type: UnivariatePuiseuxSeries(Expression(Integer),x,0)
   Time: 0.06 (OT) = 0.07 sec
(2) -> a*1.0
 1exit  GLESSEQP : NIL

   (2)
  3   5
 x - 0.16_67 x  + 0.008333_33_34 x
   +
   7  9
 - 0.0001984126_9841269841_27 x  + 0.027557_3192239858_90653 x
   +
 11  12
 - 0.2505210838_5441718775 E -7 x   + O(x  )
   Type: UnivariatePuiseuxSeries(Expression(Float),x,0.0)
   Time: 0.02 (IN) + 0.01 (OT) = 0.03 sec

And see the two attached gzipped files, one with old GLESSEQP and the
other with newer GLESSEQP.

- Greg


Le dim. 12 mai 2024 à 10:38, Qian Yun  a écrit :
>
> The problematic part is this line.
>
> - Qian
>
> diff --git a/src/interp/macros.lisp b/src/interp/macros.lisp
> index f2bb9ecc..5db4335d 100644
> --- a/src/interp/macros.lisp
> +++ b/src/interp/macros.lisp
> @@ -221,7 +221,7 @@
> (GO LP)))
> (RETURN (GGREATERP T1 T2)) ) )
>
> -(defun GLESSEQP (X Y) (NOT (GGREATERP X Y)))
> +(defun GLESSEQP (X Y) (|lt_sexp| X Y))
>
>   (defun LEXLESSEQP (X Y) (|lt_sexp| X Y))
>
> On 5/11/24 00:05, Waldek Hebisch wrote:
> > On Fri, May 10, 2024 at 05:10:45PM +0200, Grégory Vanuxem wrote:
> >> For information, exhibited on SBCL-2.3.2 (GiHub) but also on SBCL-2.4.4. I
> >> tried early this morning to revert parts of this commit without success, I
> >> abandoned, it is too Lispish for me I think.
> >
> > You can try to revert change to symbol.spad, change to i-resolv.boot,
> > second hunk in macros.lisp + change to vmlisp.lisp.  Those 3 are
> > independent on each other and to remaining changes.
> >
> > At first glance change to i-resolv.boot is most likely to produce
> > effect below.  OTOH it should do the same thing an all systems...
> >
> >> Le ven. 10 mai 2024 à 15:32, Qian Yun  a écrit :
> >>
> >>> The recent commit "Simplify and fix ordering predicate"
> >>> causes regression on windows only, strange.
> >>>
> >>> The failed test is in series3.input:
> >>>
> >>> testcase "crashes coercing power series (#122, #136)"
> >>> a := series(sin(x))
> >>> testTrue("(a*1.0; true)")
> >>> testTrue("(1.0*a; true)")
> >>>
> >>>
> >>> Interpreter can't find proper signature.
> >>>
> >>> - Qian
> >>>
>
> --
> You received this message because you are subscribed to the Google Groups 
> "FriCAS - computer algebra system" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to fricas-devel+unsubscr...@googlegroups.com.
> To view this discussion on the web visit 
> https://groups.google.com/d/msgid/fricas-devel/e5a1b4e0-0032-446a-9742-826834f3f39f%40gmail.com.

-- 
You received this message because you are subscribed to the Google Groups 
"FriCAS - computer algebra system" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to fricas-devel+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/fricas-devel/CAHnU2dZo30T_MOm4JYfYxhgUNeXozZoVwS_fD1eJojQG3TxEqA%40mail.gmail.com.


old_glesseqp.txt.gz
Description: GNU Zip compressed data


new_glesseqp.txt.gz
Description: GNU Zip compressed data


Re: [fricas-devel] regression on windows

2024-05-12 Thread Qian Yun

The problematic part is this line.

- Qian

diff --git a/src/interp/macros.lisp b/src/interp/macros.lisp
index f2bb9ecc..5db4335d 100644
--- a/src/interp/macros.lisp
+++ b/src/interp/macros.lisp
@@ -221,7 +221,7 @@
   (GO LP)))
   (RETURN (GGREATERP T1 T2)) ) )

-(defun GLESSEQP (X Y) (NOT (GGREATERP X Y)))
+(defun GLESSEQP (X Y) (|lt_sexp| X Y))

 (defun LEXLESSEQP (X Y) (|lt_sexp| X Y))

On 5/11/24 00:05, Waldek Hebisch wrote:

On Fri, May 10, 2024 at 05:10:45PM +0200, Grégory Vanuxem wrote:

For information, exhibited on SBCL-2.3.2 (GiHub) but also on SBCL-2.4.4. I
tried early this morning to revert parts of this commit without success, I
abandoned, it is too Lispish for me I think.


You can try to revert change to symbol.spad, change to i-resolv.boot,
second hunk in macros.lisp + change to vmlisp.lisp.  Those 3 are
independent on each other and to remaining changes.

At first glance change to i-resolv.boot is most likely to produce
effect below.  OTOH it should do the same thing an all systems...


Le ven. 10 mai 2024 à 15:32, Qian Yun  a écrit :


The recent commit "Simplify and fix ordering predicate"
causes regression on windows only, strange.

The failed test is in series3.input:

testcase "crashes coercing power series (#122, #136)"
a := series(sin(x))
testTrue("(a*1.0; true)")
testTrue("(1.0*a; true)")


Interpreter can't find proper signature.

- Qian



--
You received this message because you are subscribed to the Google Groups "FriCAS - 
computer algebra system" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to fricas-devel+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/fricas-devel/e5a1b4e0-0032-446a-9742-826834f3f39f%40gmail.com.


Re: [fricas-devel] regression on windows

2024-05-10 Thread Waldek Hebisch
On Fri, May 10, 2024 at 05:10:45PM +0200, Grégory Vanuxem wrote:
> For information, exhibited on SBCL-2.3.2 (GiHub) but also on SBCL-2.4.4. I
> tried early this morning to revert parts of this commit without success, I
> abandoned, it is too Lispish for me I think.

You can try to revert change to symbol.spad, change to i-resolv.boot,
second hunk in macros.lisp + change to vmlisp.lisp.  Those 3 are
independent on each other and to remaining changes.

At first glance change to i-resolv.boot is most likely to produce
effect below.  OTOH it should do the same thing an all systems...

> Le ven. 10 mai 2024 à 15:32, Qian Yun  a écrit :
> 
> > The recent commit "Simplify and fix ordering predicate"
> > causes regression on windows only, strange.
> >
> > The failed test is in series3.input:
> >
> > testcase "crashes coercing power series (#122, #136)"
> > a := series(sin(x))
> > testTrue("(a*1.0; true)")
> > testTrue("(1.0*a; true)")
> >
> >
> > Interpreter can't find proper signature.
> >
> > - Qian
> >
> > --
> > You received this message because you are subscribed to the Google Groups
> > "FriCAS - computer algebra system" group.
> > To unsubscribe from this group and stop receiving emails from it, send an
> > email to fricas-devel+unsubscr...@googlegroups.com.
> > To view this discussion on the web visit
> > https://groups.google.com/d/msgid/fricas-devel/dfa27b87-4807-4489-aaf0-11c9f6072ba7%40gmail.com
> > .
> >
> 
> -- 
> You received this message because you are subscribed to the Google Groups 
> "FriCAS - computer algebra system" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to fricas-devel+unsubscr...@googlegroups.com.
> To view this discussion on the web visit 
> https://groups.google.com/d/msgid/fricas-devel/CAHnU2dZAH0GMDq9TVsVHym-Bg%2BwDqUA%3DF-UgGyfXLp2HQZ3b1g%40mail.gmail.com.

-- 
  Waldek Hebisch

-- 
You received this message because you are subscribed to the Google Groups 
"FriCAS - computer algebra system" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to fricas-devel+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/fricas-devel/Zj5FyMTl0gtJn1QK%40fricas.org.


Re: [fricas-devel] regression on windows

2024-05-10 Thread Waldek Hebisch
On Fri, May 10, 2024 at 09:32:37PM +0800, Qian Yun wrote:
> The recent commit "Simplify and fix ordering predicate"
> causes regression on windows only, strange.
> 
> The failed test is in series3.input:
> 
> testcase "crashes coercing power series (#122, #136)"
> a := series(sin(x))
> testTrue("(a*1.0; true)")
> testTrue("(1.0*a; true)")
> 
> 
> Interpreter can't find proper signature.

Strange indeed.  Looks that interpreter is buggy and result
depend on order (it should not).  Order of entries in database
changed due to change to ordering predicate.  And it is possible
that ordering on Windows is different than ordering on Linux.

-- 
  Waldek Hebisch

-- 
You received this message because you are subscribed to the Google Groups 
"FriCAS - computer algebra system" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to fricas-devel+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/fricas-devel/Zj5DZlbYSB3Z-d-x%40fricas.org.


Re: [fricas-devel] regression on windows

2024-05-10 Thread Grégory Vanuxem
For information, exhibited on SBCL-2.3.2 (GiHub) but also on SBCL-2.4.4. I
tried early this morning to revert parts of this commit without success, I
abandoned, it is too Lispish for me I think.

Seems to be Windows specific. Could be interesting to investigate this for
the SBCL community and therefore FiCAS.

- Greg



Le ven. 10 mai 2024 à 15:32, Qian Yun  a écrit :

> The recent commit "Simplify and fix ordering predicate"
> causes regression on windows only, strange.
>
> The failed test is in series3.input:
>
> testcase "crashes coercing power series (#122, #136)"
> a := series(sin(x))
> testTrue("(a*1.0; true)")
> testTrue("(1.0*a; true)")
>
>
> Interpreter can't find proper signature.
>
> - Qian
>
> --
> You received this message because you are subscribed to the Google Groups
> "FriCAS - computer algebra system" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to fricas-devel+unsubscr...@googlegroups.com.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/fricas-devel/dfa27b87-4807-4489-aaf0-11c9f6072ba7%40gmail.com
> .
>

-- 
You received this message because you are subscribed to the Google Groups 
"FriCAS - computer algebra system" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to fricas-devel+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/fricas-devel/CAHnU2dZAH0GMDq9TVsVHym-Bg%2BwDqUA%3DF-UgGyfXLp2HQZ3b1g%40mail.gmail.com.