reduce-algebra: a portable general-purpose computer algebra system, automatically mirrored. Please visit the REDUCE Homepage, https://reduce-algebra.sourceforge.io/, to report any bugs or request assistance. https://reduce-algebra.sourceforge.io/

Jeffrey H. Johnson 110621d275 Merge branch 'svn/trunk' 2 years ago
.github 7bcc6f55aa Remove mistaken-pull-closer.yml, using mergeable. 3 years ago
MacPorts 6a68330d62 update svn url in Mac portfile 9 years ago
bin e1222597cf More steps towards the newer CSL fat binary scheme. 4 years ago
buglist bd99b6183d sfellipinv.red: Added new file to containing rules for inverse Jacobian 2 years ago
common-lisp c57a859f62 REDUCE on Common Lisp: update for current REDUCE version 2 years ago
contrib 8b87ea594a Add sample code that scans Lisp executable code and identifies all the 6 years ago
csl 2933d80244 Add ileftshift, ileqv and ensure that irightshift adheres to C++ constraints 2 years ago
debianbuild d33bed7de5 Update build process for debian and Ubuntu packages: 2 years ago
doc 6edb4fd924 Reduce manual: correct an error occuring when building the HTML version. 2 years ago
generic 040b5656ba Simplified call to reduce and log stderr 2 years ago
jlisp fadd96bd85 Several headings here: 6 years ago
jslisp b480d254a7 Bring Jlisp further into step with CSL (and vice versa) 8 years ago
libedit 57324796b7 Removed 2009 version. Added but not using yet 2014 version. 9 years ago
libraries 5450c2bf06 I believe that at least of one has run scripts/make-universal.sh after setting 2 years ago
mac-universal 50952bbf97 Continued work on CSL compilation into C and optimisation by making several 2 years ago
macbuild 423d937af1 This tries to arrange that doc/manual/redlogo.png will end up in the 5 years ago
packages 5cff5dc5b8 PSL Reduce: load optimized version of iplus2, itimes2, ... in pslprolo.red instead of the generic versions in alg/farith.red 2 years ago
psl 94ceeeba50 PSL compiler for aarch64: additions/corrections to floating point instructions 2 years ago
reduce2 4342fd54f0 Reduce2: patch reduce.red a bit more to make the second physics example work 2 years ago
scripts a573b07d23 Update and (I hope) improve the script macports-setup.sh that installs 2 years ago
vsl edd6595002 A further round of updates to configure.ac. autoconf 2.61 is (I think) 3 years ago
web b3213513e9 Web REDUCE: Load Packages dialogue 2 years ago
winbuild64 b29fe931d4 Update snapshot build details for the HTML REDUCE manual 3 years ago
xmpl f9b21a780b Matrixproc needed an update to work with the changes introduced for type annotation. 6 years ago
.deepsource.toml dac41b9fb6 Add .deepsource.toml 2 years ago
.gitattributes 9f741379c2 Update .gitattributes: Additional exclusions 3 years ago
.gitignore 3f88fc3154 Updating .gitignore 2 years ago
ACN-projects.doc 23dbdd7fe2 Two things here - one the promting one and the second work done in consequence. 3 years ago
BUGS 1b36b3fe0d Set svn:eol-style property to native and reset svn:executable property in toplevel directory. 15 years ago
BUILDING a54118ddfa Add a file called BUILDING to help people get started. 4 years ago
Contributor-Release.txt 1b36b3fe0d Set svn:eol-style property to native and reset svn:executable property in toplevel directory. 15 years ago
DEPENDENCY_TRACKING 1b36b3fe0d Set svn:eol-style property to native and reset svn:executable property in toplevel directory. 15 years ago
INSTALL 04f7059c3b Some more property changes: svn:ignore svn:executable 11 years ago
LICENSE e3779c3103 LICENSE: Add Reduce license. 3 years ago
MANIFEST b5536b3884 Make make-release get PSL version in the right place 12 years ago
Makefile 052615195f 2 years ago
Makefile.am 0c28b6593a I had made premature checkins on Makefile.am and scripts/make.sh, so this 2 years ago
Makefile.in 8512b0fe2e Thanks to Francis Wright for two very useful hints used in this revision. 3 years ago
Makefile.new 8b069778fd A further iteration on Makefile.new, which I now believe has built a Reduce 2 years ago
README baa8284de6 Utterly break CUT/COPY in csl-GUI but move towards better treatment of less common characters, and hopefully provide a better base for mending COPY. Also provide a more recent wxWidgets snapshot 10 years ago
README.BUILDING 923ccbd837 This checkin reflects the fact that Cygwin now have strong advice against use 3 years ago
README.md 2884e3d48d Update README.md: Link GitLab reduce-algebra org. 3 years ago
SECURITY.md 36794887f3 SECURITY.md: Fix formatting, appease Markdown lint 3 years ago
aclocal.m4 8512b0fe2e Thanks to Francis Wright for two very useful hints used in this revision. 3 years ago
all-exe.sh 9881d4356f This continues review of the arithmetic code in CSL. I am part way through 7 years ago
all-img.sh 261e64a1e2 For the benefit of platforms where /bin/bash does not exist but bash 6 years ago
autogen.sh 6f950b1366 Update autogen.sh with the hope that this will make "./configure --with-both" 2 years ago
compile 84b3b562f2 Substantial changes to the rataprx package. 4 years ago
config.guess 8512b0fe2e Thanks to Francis Wright for two very useful hints used in this revision. 3 years ago
config.sub 8512b0fe2e Thanks to Francis Wright for two very useful hints used in this revision. 3 years ago
configure 8512b0fe2e Thanks to Francis Wright for two very useful hints used in this revision. 3 years ago
configure.ac 9428e0bca8 A typo or case where my mind had been addled in configure.ac that 2 years ago
depcomp 84b3b562f2 Substantial changes to the rataprx package. 4 years ago
fetchfetch.sh 261e64a1e2 For the benefit of platforms where /bin/bash does not exist but bash 6 years ago
fetchreduce.sh 261e64a1e2 For the benefit of platforms where /bin/bash does not exist but bash 6 years ago
install-sh 84b3b562f2 Substantial changes to the rataprx package. 4 years ago
ltmain.sh 8512b0fe2e Thanks to Francis Wright for two very useful hints used in this revision. 3 years ago
macports-setup-m1.sh b14dd3afb5 The TEMPORARY file macports-setup-m1.sh is the recipe that I now hope/believe 2 years ago
missing 84b3b562f2 Substantial changes to the rataprx package. 4 years ago
parbuild.sh 6d4de11437 CSL: There is a new version of append() in the kernel that unrolls its 2 years ago
rebuild.sh 470f5d5fba fix typo in a comment 15 years ago
time-current-version.sh 5450c2bf06 I believe that at least of one has run scripts/make-universal.sh after setting 2 years ago

README

REDUCE - Open Source release


July 2013, then February 2014

Tiny updates to this file just to try to keep the credits to other
projects that are used up to date. As of Feb 2014 the revision number
at Sourceforge is 2337, and this seems to correspond to an average
activity rate of a bit over 3 checkins per day.

December 2010

This project just reached revision 1000 in the Sourceforge subversion
repository. This feels like something of a landmark.


March 2009


This is the REDUCE algebra system, which was originally developed by
Tony Hearn. A bibliography somewhere in this tree reports some of the
large numbers of papers that have been written about or relying on
REDUCE.


Arthur Norman. March 2009


The BULK of the files in this tree are subject to the (modified) BSD license,
as shown below. There are some components that are subject to more restrictive
terms (notably the FOX GUI Toolkit, used in one version of the code here, is
under LGPL).

===========================================================================

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:

* Redistributions of source code must retain the relevant copyright
notice, this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNERS OR CONTRIBUTORS
BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.


===========================================================================

The CSL version of Reduce has started to migrate to use the wxWidgets
library rather than FOX (see below). wxWidgets is under its own license
which is LGPL 2 (or later) plus some permissive exceptions for the
distribution of applications linked against the library. A full
archive is wxWidgets source is included and that contains full details.



Note that the directory csl/fox contains a modified version of the
FOX toolkit (www.fox-toolkit.com) version 1.6 which is subject to
LGPL 2.1. Note explicitly that while an unmodified version of FOX can be
linked into an application and the resulting version may be distributed
without hindrance even the smallest change that has not been accepted by
the FOX central site can only be used under the terms of the LGPL.

Within the FOX directory the "utils" subdirectory contains a program
reswrap.cpp that is used while building FOX. I do not see any cause for
anybody to even want to distribute a binary of that, but to satisfy the
GPL better I have put a copy of the GPL in the directory with it. No part of
reswrap itself ends up in the main programs built here, and its status is
thus rather like that of gcc and other tools.

The FOX test programs were originally held within the FOX directory, but
they are subject to the GPL not the LGPL or any more benign license. I have
moved them to a separate directory to make it unambiguous that there are at
most here as mere aggregation, and the standard build sequences here make
even the presence of that directory optional. I do not intend to provide or
distribute binary copies of any of them ever, and so there should not be any
complications at all on that front.


The "gnuplot" package is used with REDUCE and its license indicates that
it may be redistributed freely, but that modified versions may only be
circulated in the form of patch files against the official release. The
version included here is an original un-modified copy. Well actually right now
there is no version included with Reduce. This is because Sourceforge policy
is that if we include any binary then we must also put the corresponding
source into the Sourceforge Release system. Putting a copy of a snapshot
of the gnuplot source there seems both clumsy and asks for confusion as and
when gnuplot gets updated, so this area is under review!

The CSL source directory contains material derived from Adobe font metrics,
and these metrics it works can be found on many sites - they can be
downloaded directly from Adobe's ftp site but also they are included
with many existing software packages in forms that clearly state that
they are available for redistribution and that the authors of those
packages have checked license conditions carefully. The set of files
I use here came with "teTeX 2" where these terms are carefully set
out and where the package is very well established and widely used so
there would have been plenty of opportunity for concerns about rights
to be aired. I have not altered the metric files at all.

There is a copy of the "distorm" x86 disassembler, which originated from
Gil Dabah and licensed under the modified BSD license. See
http://ragestorm.net/distorm.

I use adjusted versions of Computer Modern Fonts derived from the Blue Sky
Research and Y&Y inc versions but which are now freely available for general
use. Their copyright is held by the American Mathematical Society, and the
versions here should yield exactly the same font metrics as the original
versions.

The Truetype-format fonts are from the BaKoMa Computer Modern Font collection
as distributed via "ctan", and the associated permissive license is included
in the directory where they are held. This set of files and its associated
.tfm metrics are gradually replacing my use of other font data.

An implementation of the MD5 message digest is due to Eric Young and
comes from an implementation of SSL, and is subject to what is in essence the
modified BSD license. The original and full version of the license terms
is included where that code is incorporated.

Various other parts within CSL were contributed by NAG Ltd and by various
students and others, including J O'Connell, M O Seymour, but were made
available to me and to Codemist for inclusion within CSL.

The files in the "psl" directory come from ZIB and are some of the ones
that they used with the Reduce Development System. As shown there these are
also under a BSD license - see the HP_disclaimer.txt that confirms a release
from one of the earlier major copyright holders.

crlibm is a "correctly rounded maths library" subject to LGPL 2.1. It was
fetched from http://lipforge.ens-lyon.fr/www/crlibm/ but needed (minor)
aljustment to let it build here.

The Latin Modern Fonts and Latin Moder Math Fonts are from
http://www.gust.org.pl/projects/e-foundry and copies of the original
archives containing them are in csl/support-packages along with unpacked
a copy of the GUST-FONT-LICENSE.txt file and relevant README files.
There are two uses of derived works, and the GUST License (which is
an instance of the Latex Project Public License) requires that an
explanation of what is covered and what changes are made is placed in
a prominent place (eg here!).
In csl/cslbase/wxfonts there are re-packed font files. Merely placing the
files in a tree that is distinct from the .zip file that formed the
original distribution makes this a derived (and changed) work. But I
have also needed to (use fontforge to) convert each .oft file so I also
have a .ttf version since my Windows code appeared not to render glyphs
from the .otf versions. This should not alter character shapes or metrics
but may degrade rendering. I have also extracted from these fonts a
series of bitmaps that record which characters are present in the fonts.
This is done because I was not instantly able to do this at the point of
rendering, and because it then helps me use font substitution for any
missing characters. In use these fonts will be set up as application-
specific private fonts rather than as globally and permenantly installed
ones, so the chances of causing confusion for other software ought to
be low. The font directories that are to be distributed as part of
a binary release of the software contain READE files etc alongside the
actual fonts, and executable software will respond to a "--help" option
by displaying a message that contains a brief citation of the fonts and
how to recover original official versions.
I believe that since I have not changed font shapes, metrics or coverage
and since the distribution is not set up to make the fonts available
generally - just to have them used as application-private resources - that
renamking the fonts (to avoid confusion) is not necessary here.
But it is important to record that the fonts and derived information are
NOT subject to the full permissions of the BSD License and that any
use that envisages moving them away from the code here or altering the
messages about them that "--help" displays needs to be done only after
careful review of the actual licenses.




A C Norman (acn1@cam.ac.uk)