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

--
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 [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/fricas-devel/7d3cfe5a-3409-4661-8e0f-3787615d1aab%40gmail.com.
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

Reply via email to