Notebooks, cells, and tabs
Molt borrows the useful parts of a notebook interface without using Jupyter notebook files or Jupyter kernels.
Four fixed scratchpads
Section titled “Four fixed scratchpads”The application always creates four notebooks, labeled Tab 1 through Tab 4.
The reserved tab_count configuration field does not alter the release interface.
A tab is useful as a durable topic boundary. For example:
- Tab 1 for a current calculation.
- Tab 2 for a data-format check.
- Tab 3 for a package experiment.
- Tab 4 for reusable snippets.
The labels cannot be renamed in this release.
An ordered sequence of cells
Section titled “An ordered sequence of cells”Each notebook contains one or more Python code cells. A cell keeps its source and position between launches. Its execution number, output, and status belong only to the current app session.
Cell order matters because Run All executes from top to bottom and because later cells can depend on names created earlier.
Molt prevents a notebook from becoming empty. Deleting its final cell creates a new empty cell immediately.
Code cells only
Section titled “Code cells only”The released interface creates Python code cells. It does not offer Markdown cells or a Markdown rendering mode.
Notebook-like behavior without notebook files
Section titled “Notebook-like behavior without notebook files”Molt implements several familiar conventions:
- Stateful execution within a tab.
- A displayed execution number.
- Automatic display of a final expression.
- Automatic creation of a new cell after running the last cell.
- Run All in top-to-bottom order.
It does not implement:
.ipynbimport or export.- Jupyter kernels or ZeroMQ.
- Markdown cells.
- Rich display MIME bundles.
- Notebook metadata, attachments, or widget state.
Saved Molt content lives in one application JSON file rather than one file per notebook.
Source identity versus execution history
Section titled “Source identity versus execution history”Cell identity, ordering, and source form the durable notebook document. Execution counts, outputs, and cell states are a view of the current app session.
This distinction explains why a relaunched tab contains the same code but looks unexecuted: the durable document was restored, while the execution history was intentionally rebuilt.
