Qian Yun
unread,Dec 8, 2023, 6:29:30 AM12/8/23Sign in to reply to author
Sign in to forward
You do not have permission to delete messages in this group
Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message
to fricas-devel
This patch contains misc cleanup, misc fix, doc fix, typo fix,
I think it doesn't make sense to commit separately, so here it is.
- Qian
diff --git a/INSTALL.CYGWIN b/INSTALL.CYGWIN
index c4dbb7cb..88378f9f 100644
--- a/INSTALL.CYGWIN
+++ b/INSTALL.CYGWIN
@@ -48,7 +48,7 @@ II) Start Cygwin's setup program. The first few
questions can be answered with
1) Install a Common Lisp implementation
- Clisp is in the Cygwin repo, it but can not build FriCAS due to the
+ Clisp is in the Cygwin repo, but it can not build FriCAS due to the
"cygwin-no-save-executable.patch". So we compile ecl from source
here.
Install libgc1 libgc-devel libgmp-devel libffi-devel libatomic_ops1
diff --git a/src/algebra/elemntry.spad b/src/algebra/elemntry.spad
index 81a59af5..407bbe0d 100644
--- a/src/algebra/elemntry.spad
+++ b/src/algebra/elemntry.spad
@@ -202,8 +202,7 @@ ElementaryFunction(R, F) : Exports == Implementation
where
opasech := operator('asech)$CommonOperators
opacsch := operator('acsch)$CommonOperators
- -- Pi is a domain...
- Pie, isqrt1, isqrt2, isqrt3 : F
+ isqrt1, isqrt2, isqrt3 : F
-- following code is conditionalized on arbitraryPrecision to
recompute in
-- case user changes the precision
@@ -212,11 +211,11 @@ ElementaryFunction(R, F) : Exports ==
Implementation where
if R has arbitraryPrecision then
pi() == pi()$R :: F
else
- Pie := pi()$R :: F
- pi() == Pie
+ cachedPi : F := pi()$R :: F
+ pi() == cachedPi
else
- Pie := kernel(oppi, []$List(F))
- pi() == Pie
+ cachedPi : F := kernel(oppi, []$List(F))
+ pi() == cachedPi
if R has imaginary : () -> R then
isqrt1 := imaginary()$R :: F
diff --git a/src/algebra/ffact.spad b/src/algebra/ffact.spad
index c9583bb6..154a4c06 100644
--- a/src/algebra/ffact.spad
+++ b/src/algebra/ffact.spad
@@ -70,7 +70,7 @@ ModularFactorizationOperations(PA : Type, MMT : Type,
MD : Type,
++ modular composition matrix mat into two matrices,
++ first modulo pmod1, second modulo pmod2. To save
++ space first result replaces first nr1 rows of mat,
- ++ second result is stored in next nr1 rows of mat.
+ ++ second result is stored in next nr2 rows of mat.
++ nr0 is number of rows used in argument.
shift_mat! : (MMT, Integer, Integer) -> Void
++ shift_mat!(mat, sa, nr) moves modular composition
diff --git a/src/algebra/limitps.spad b/src/algebra/limitps.spad
index 1d5f751d..8ca9e5dd 100644
--- a/src/algebra/limitps.spad
+++ b/src/algebra/limitps.spad
@@ -745,7 +745,7 @@ ElementaryFunctionSign(R, F) : Exports ==
Implementation where
--abort if there are any variables
not empty? variables f => "failed"
-- abort in the presence of algebraic numbers
- member?(coerce("rootOf")::Symbol,map(name,operators
f)$ListFunctions2(BasicOperator,Symbol)) => "failed"
+ any?((x : BasicOperator) : Boolean +-> is?(x, 'rootOf), operators
f) => "failed"
-- In the last resort try interval evaluation where feasible.
if R has ConvertibleTo Float then
import from Interval(Float)
diff --git a/src/algebra/manip.spad b/src/algebra/manip.spad
index aa25a279..68f5422f 100644
--- a/src/algebra/manip.spad
+++ b/src/algebra/manip.spad
@@ -85,7 +85,7 @@ PolynomialRoots(E, V, R, P, F) : Exports ==
Implementation where
s := nthRoot(squareFree x, n)
[s.exponent, s.coef, */s.radicand]
- -- returns [d, b] suchj that d divides n and b^(n/d) = x
+ -- returns [d, b] such that d divides n and b^(n/d) = x
-- with d as small as possible
iroot(x : Z, n : N) : Record(exponent : N, coef : Z) ==
x = 1 => [1, 1]
diff --git a/src/interp/server.boot b/src/interp/server.boot
index 7bb511e3..9b54b785 100644
--- a/src/interp/server.boot
+++ b/src/interp/server.boot
@@ -133,7 +133,7 @@ parseAndInterpret str ==
executeQuietCommand() ==
$QuietCommand: fluid := true
- sockGetStringFrom($MenuServer)
+ stringBuf := sockGetStringFrom($MenuServer)
CATCH('coerceFailure, CATCH('top_level, CATCH('SPAD_READER,
parseAndInterpret stringBuf)))
diff --git a/src/interp/spad.lisp b/src/interp/spad.lisp
index abf79386..b6c7bfaa 100644
--- a/src/interp/spad.lisp
+++ b/src/interp/spad.lisp
@@ -107,6 +107,4 @@
(defun |hashable| (dom)
(memq (|knownEqualPred| dom)
- #-Lucid '(EQ EQL EQUAL)
- #+Lucid '(EQ EQL EQUAL EQUALP)
- ))
+ '(EQ EQL EQUAL)))
diff --git a/src/interp/util.lisp b/src/interp/util.lisp
index 400a2b94..9de141aa 100644
--- a/src/interp/util.lisp
+++ b/src/interp/util.lisp
@@ -47,8 +47,6 @@ at load time.
;;; on the system we are using.
(defvar |$lisp_bin_filetype|
#+:GCL "o"
- #+lucid "bbin"
- #+symbolics "bin"
#+:cmu (c:backend-fasl-file-type c:*target-backend*)
#+:sbcl "fasl"
#+:clisp "fas"
diff --git a/src/lisp/fricas-lisp.lisp b/src/lisp/fricas-lisp.lisp
index 678c105c..ce8d6bdc 100644
--- a/src/lisp/fricas-lisp.lisp
+++ b/src/lisp/fricas-lisp.lisp
@@ -99,10 +99,6 @@ with this hack and will try to convince the GCL crowd
to fix this.
(if restart
(excl::dumplisp :name core-image :restart-function restart)
(excl::dumplisp :name core-image))
-#+Lucid
- (if restart
- (sys::disksave core-image :restart-function restart)
- (sys::disksave core-image))
#+:cmu
(let* ((restart-fun
(if restart