43 releases (23 breaking)
0.24.9 | Nov 5, 2024 |
---|---|
0.24.7 | Sep 27, 2024 |
0.24.6 | May 5, 2024 |
0.24.5 | Mar 24, 2024 |
0.7.1 | Jul 14, 2021 |
#239 in Operating systems
235 downloads per month
Used in irust
115KB
1.5K
SLoC
IRust Repl
Repl engine used by IRust to interpret rust code
The core is println!("{:?}", expression)
with tricks to conserve variables and context
Example:
use irust_repl::{Repl, ToolChain};
let mut repl = Repl::new(ToolChain::Stable).unwrap();
repl.insert("let a = 5");
assert_eq!(repl.eval("a+a").unwrap().output, "10");
Checkout the examples and tests folders for more info.
Jupyter Kernel
A Jupyter Kernel is provided https://github.com/sigmaSd/IRust/tree/master/crates/irust_repl/irust_kernel, to use it:
Installation
This requires IPython 3.
pip install irust_kernel
python -m irust_kernel.install
To use it, run one of:
code # vscode have the best implementation
zed # zed implementation is nice as well
jupyter notebook
# In the notebook interface, select IRust from the 'New' menu
jupyter qtconsole --kernel irust
jupyter console --kernel irust
Developement
This requires https://github.com/pypa/flit
To start developping locally use flint install --symlink
optionally followed by python -m irust_kernel.install --local-build
if there are changes to Re
executable
Examples
irust.ipynb (simple showcase) and evcxr.ipynb (showcase of evcxr protocol) are provided as an example
Dependencies
~0.2–10MB
~51K SLoC