It has been superseded by https://github.com/fjwright/Run-REDUCE.
For information about how to install and run Run-REDUCE please see the User Guide.
Run-REDUCE should run on any platform that supports Java 8 (or later), but I can only test it on Microsoft Windows and Ubuntu Linux. (Whilst Java is portable, filesystem structures and installation conventions are not!)
This version uses the Java Swing library, but at some future date I will probably switch to using JavaFX. Swing has the advantage that it is still a standard component of the latest Java SE SDK. I am developing using Java 13, but compiling for Java 8 to support running the jar file using all current JREs.
REDUCE itself is an open source project available from SourceForge. I'm releasing Run-REDUCE under the BSD 2-Clause License, mainly because it's the license used by REDUCE.
This project is set up for development using IntelliJ IDEA with Run-REDUCE as the top-level directory.
- Add a semicolon to the end of input if there is no terminator.
- Optional redfront-style font colouring to distinguish input and output in the IO display pane.
- Rename Preferences menu to View.
- Explicit support for Ubuntu Linux.
- A new item at the bottom of the REDUCE menu opens a dialogue box to configure REDUCE directories and commands. Using this should allow Run-REDUCE to run on any platform.
- Button to duplicate selected version added to REDUCEConfigDialog.
- Descenders in text are no longer cut off (on Windows) in REDUCEConfigDialog.
- Better handling of
Load Packages...
andPackages Root Dir
. - Disable the earlier and later input buttons as appropriate.
- Enable or disable menu items etc. according to whether REDUCE is running. Allow REDUCE to be restarted.
Quit
menu item renamed toExit
, and a newStop REDUCE
item added to theREDUCE
menu.- Correct REDUCEConfigDialog with a non-default look-and-feel.
- Keyboard shortcuts to send input to REDUCE and scroll the input list. Scrolling beyond the last input clears the input pane.
- Set the initial main application window size to 2/3 the linear dimension of the screen.
- Add a
Packages
button to theInput from Files...
dialogue that switches to the REDUCE packages directory (mainly for my benefit during testing). - Add a
Clear I/O Display
item to the REDUCE menu. - Add a
Bold Prompts
checkbox to the View menu. - Replace the
Coloured I/O
item in theView
menu with anI/O Colouring
sub-menu. - Provide a full emulation of Redfront.
- Add a double-click handler for the
Shut Output Files...
andLoad Packages...
dialogues that makes them more consistent with the file chooser dialogue. - Use a more solid font than the default for the I/O display pane.
- Provide easy access to the distributed documentation via the Help menu.
- Replace the
Auto-run REDUCE?
checkbox with aNone
option in theAuto-run REDUCE
radio button group, and start the selected version of REDUCE immediately if REDUCE is not running.
- Detect a question prompt and don't auto-terminate the response.
- Holding Shift always suppresses auto-termination of input.
- Fix the activated status of the
Output Here
menu item.
- This is a beta test release for Version 1, which is essentially feature-complete.
- Better support for non-default look-and-feels.
- Easy access to the Run-REDUCE User Guide on GitHub.
- Optional split pane display that can run two independent invocations of REDUCE.
- Optional multiple tabs that can each run an independent invocation of REDUCE.
- None
- Switch from Swing to JavaFX.
- Use a map indexed by version instead of a list as the versions data structure.
- Keyboard shortcuts (e.g. Control-Tab, Control-Shift-Tab) for switching between split or tabbed pane components.
- Easy access to a local copy of the Run-REDUCE User Guide.
- Font and colour selectors.
- Context-sensitive help that accesses appropriate sections of the REDUCE manual.
- Detect more reliably whether REDUCE is running.
- Remember all user choices, including window configurations.
- Typeset output supporting copy and paste. Could parse
off nat
output, or use it together with TeX or MathML output. - Merge input region into output region.
- Integrated plotting support, perhaps with plots in a new tab or in a vertically split window.
- A calculator-style interface option.
- Hybrid I/O colouring combining modal and redfront modes.