HTTPS clone URL
Subversion checkout URL
A (depricated) prototype for an interactive REPL for the Rust programming langauge
Fetching latest commit...
Cannot retrieve the latest commit at this time.
|Failed to load latest commit information.|
Project: rust-repl Author: Brian Leibig == Description == This is an interactive read-eval-print-loop (REPL) for the Rust programming language being developed by Mozilla. It hopes to eventually be a viable solution to issue #1120. It works by presenting a prompt, reading input, then integraing with the compiler to compile it to a LLVM module which is then executed by the JIT compiler. If an expression was given, it will evaluate and print its result. Some portions of the implementation were based on another repl by dbp, but unlike his version, this aims to be more tightly integrated with the compiler, and keep everything in memory rather than use temporary files. As the language and libraries are rapidly evolving, this is meant to work with the latest git master revision of rust on github. == Current Status == Right now everything seems to work, except the LLVM JIT. When calling jit::exec, LLVM gives the following error: LLVM ERROR: Inline asm not supported by this streamer because we don't have an asm parser for this target I've deduced that this error comes from the .create() call for the ExecutionEngine in the LLVMRustJIT function in RustWrapper.cpp. Also, the sysroot is manually set to "/usr/local/", if this is not correct for your machine, change the maybe_sysroot value in the options definition in run_input(). == Future Goals == * Use readline or something similar for getting input, managing history etc. * Identify input type based on how it parses instead of str::starts_with * Implement commands for the REPL similar to how GHCi handles :commands  http://www.rust-lang.org/  https://github.com/mozilla/rust/issues/1120  https://github.com/dbp/rustrepl