| name | repld |
| description | Evaluate Julia/Python/R/Wolfram in long-lived background sessions so imports, variables, and project state persist across calls. Use for iterative work — package development, REPL-style experiments, tests, benchmarks — where starting fresh each time would be wasteful. |
Preferred workflow
Treat repld <exe> like a persistent REPL. Run setup once, then reuse loaded imports, variables, fixtures, and project state across later calls for the same session.
repld julia -E 'using ImportPackageOnce; x = load_fixture();'
repld julia -E 'transform(x)'
repld python3 -c 'import numpy as np; a = np.arange(5)'
repld python3 -c 'print(a.sum())'
repld R -e 'x <- rnorm(100)'
repld R -e 'mean(x)'
repld wolframscript -c 'x = Range[5]'
repld wolframscript -c 'Total[x]'
repld --session scratch julia -E 'x = 1'
cd /tmp && repld --session scratch julia -E 'x'
repld julia analysis.jl
repld python3 train.py 50
- Import packages once per session; later calls should use already-loaded names.
- Avoid repeating fixture/setup code in every command.
- Repld flags (
--session, --fresh, --lang) go before the interpreter. Interpreter flags go after it.
- Session routing:
--session LABEL has highest priority. Otherwise sessions are keyed by language plus adapter-specific environment (for example project flag for Julia, interpreter path for Python/R/Wolfram) plus cwd.
- Avoid using
--fresh when a live interpreter can safely pick up changed state.
See julia.md, python.md, r.md, wolfram.md for language-specific notes.
Commands
repld sessions
repld trace [id | exe | --session=LABEL]
repld [interrupt | close] [id | exe | --session=LABEL]
repld stop
timeout 30 repld julia -e 'might_hang()'