Link to GitHub repo: <a href="https://github.com/banister/pry" rel="nofollow">https://github.com/banister/pry</a><p>People should know Pry is relatively new. We're actively writing code daily to improve it. We have some pretty awesome items on the TODO list, so keep an eye on it!<p>To answer an FAQ: There's no reason not to replace IRB with Pry, or at least extend IRB with Pry inside of your ~/.irbrc
The runtime invocation is particularly nice for live debugging. You navigate in and out of program scope (using cd) and view variables in scope (using ls). It is all very smalltalk-ish.
Do any of these IRB alternatives support multi-line history? I want to define a function, press up and have the whole function definition there instead of the last line of it -- how it works with Clojure's REPL.
For something much lighter (1/10th the size of pry) and less opinionated, see <a href="http://github.com/cldwalker/ripl" rel="nofollow">http://github.com/cldwalker/ripl</a>. It's designed to be extendable and thus already has 20+plugins and 5 shells built on top of it.
Seems unnecessarily complicated. The whole point of IRB is to always be in Ruby mode. Being able to "drop down" into other out-of-band evaluation modes seems like a useful idea, but that's the exception, not the main use case.<p>So this looks less like a REPL than a gdb-like interactive debugging tool. But unless it can be used for attaching to and inspecting live running processes, it doesn't seem all that useful.