A small, unoptimized implementation of something approximating Relational Algebra. Plus reactive dependencies among cells.
Entering a JavaScript expression into a cell computes and displays a result.
Accepting an empty cell deletes the cell.
Put a variable name and equals sign in front of a cell’s expression to create a reactive binding usable in other cells.
Shortcut keys:
Control-Enter, Alt-Enter, Command-Enter, Meta-Enter: When in a cell’s editor, accepts the changes. When not in a cell’s editor, creates a new cell at the bottom of the notebook and focuses it.
Escape: When in a cell’s editor, cancels the changes.
Control-S, Alt-S, Command-S, Meta-S: When in a cell’s editor, splits the cell in two at the position the cursor is on.
Relation is a central class. Look for useful methods on it here.
Copyright © 2025 Tony Garnock-Jones tonyg@leastfixedpoint.com
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You may read the GNU General Public License version 3 here. For more information, see https://www.gnu.org/licenses/.