33 releases

Uses new Rust 2021

0.14.1 Oct 29, 2022
0.13.0 Jul 11, 2022
0.12.0 Oct 9, 2021
0.11.0 Jul 26, 2021
0.2.0 Oct 8, 2018

#106 in Rust patterns

Download history 1311/week @ 2022-08-17 1253/week @ 2022-08-24 1692/week @ 2022-08-31 1520/week @ 2022-09-07 1430/week @ 2022-09-14 1319/week @ 2022-09-21 1495/week @ 2022-09-28 1506/week @ 2022-10-05 1746/week @ 2022-10-12 1577/week @ 2022-10-19 1682/week @ 2022-10-26 1580/week @ 2022-11-02 1535/week @ 2022-11-09 1633/week @ 2022-11-16 1655/week @ 2022-11-23 1576/week @ 2022-11-30

6,578 downloads per month

Apache-2.0

265KB
5.5K SLoC

Evcxr Rust REPL

Latest Version Downloads License

A Rust REPL (Read-Eval-Print loop) built using the evcxr evaluation context.

Installation

Before you can use the REPL, you must download a local copy of Rust's source code:

$ rustup component add rust-src

Once that's done, you have a choice of using pre-built binaries, or building from source.

Pre-built binaries

Pre-built binaries are available from the Releases page. These are currently built for Linux, Mac and Windows. In each case they are built with the latest version of each operating system. In the case of Linux, they're built on the latest Ubuntu. If your version of libc is different, they might not work, in which case you'll need to build yourself. See below.

Building yourself

If you can't, or don't want to use the pre-built binaries, you can build from source.

Make sure you've got a recent version of rust installed. Evcxr's dependencies often make use of new Rust features shortly after they're stabilized, so it's not uncommon that the latest release of Evcxr will end up requiring the latest version of rustc.

Now you can go ahead and install the binary:

$ cargo install evcxr_repl

Usage

And start the REPL:

$ evcxr  
Welcome to evcxr. For help, type :help
>> 

Completion Type

Evcxr supports two modes of tab completion:

  • List: When you press tab, it will complete any common prefix shared by all available completions. Pressing tab twice will then list all available completions. This mode is the default.
  • Circular: When you press tab, it will show the first completion. Pressing tab again will cycle through all the available completions, then return to the start. To select this mode, set the environment variable EVCXR_COMPLETION_TYPE=circular.

Usage information

Evcxr is both a REPL and a Jupyter kernel. See Evcxr common usage for usage information that is common to both.

Manual Installation

You can install the REPL manually with git:

$ cargo install --force --git https://github.com/google/evcxr.git evcxr_repl

Similar projects

  • irust. Looks to have quite a sophisticated command line interface. If you don't need variable preservation, this is probably worth checking out.
  • cargo-eval Not interactive, but it gives you a quick way to evaluate Rust code from the command line and/or scripts.
  • rusti. Deprecated since 2019. Also, rusti requires a nightly compiler from 2016 and doesn't appear to persist variable values.
  • Papyrus. Looks like it's no longer maintained.

Dependencies

~35MB
~746K SLoC