As usual, when you discover a problem file an issue. On Saturday, March 29, 2014, John Myles White <[email protected]> wrote:
> This is really great news. > > I’m finding that the new REPL has trouble on OS X if you give it input > that starts with a tab. For example, the input "\tP = 1” seems to execute > an empty expression rather than assign 1 to P. > > — John > > On Mar 29, 2014, at 12:59 PM, Stefan Karpinski > <[email protected]<javascript:_e(%7B%7D,'cvml','[email protected]');>> > wrote: > > Good news, everyone! The pure-Julia read eval print loop (REPL) that Keno > Fischer developed and Mike Nolta integrated into base Julia has just been > merged. There are a number of nice things about changing from the old REPL > to this new one, in no particular order: > > - The old REPL used the GNU readline library, which we had hacked far > beyond what it was ever meant to do. This made modifying it a bit > terrifying and thus issues with it tended to get ignored or shelved as > "we'll be able to do that in the new REPL". > - The new REPL, is pretty clean, simple Julia code. Seriously – terminal > support<https://github.com/JuliaLang/julia/blob/master/base/Terminals.jl>, > line > editing<https://github.com/JuliaLang/julia/blob/master/base/LineEdit.jl>, > and the REPL > itself<https://github.com/JuliaLang/julia/blob/master/base/REPL.jl>are less > than 2000 lines of code – > *total*. This works out to a net code reduction of 33233 lines of code > (GNU readline is 34640 lines of C), while *gaining* functionality. > That has to be a project record. > - The new code is infinitely easier to modify, fix and improve, so > REPL-replated bugs will probably get fixed lickety split going forward. > - The old GNU readline REPL was one of our GPL library dependencies > that make the total Julia "product" GPL. We'd like to shed these or make > them optional to allow for a non-GPL, MIT-licensed Julia distribution and > this is a major step toward that goal. > - The new REPL code already has fancy features that you wouldn't even > think about doing with readline. Try typing "?" or ";" at the prompt and > see the REPL mode change form "julia>" to "help>" or "shell>". Cool, huh? > - The new REPL is noticeably snappier than the old one. Combined with > the static compilation of julia introduced in 0.3, going from zero to REPL > is pretty quick these days. > - Since full-fledged line editing functionality is now built into Base > Julia, we can use it everywhere without worrying what libraries people have > installed. Once we settle on a good API, you can expect that user code that > needs to prompt for input will be just as slick as the REPL itself. > > There will, of course, be some hitches and road bumps, but now that this > is merged and everyone using Julia master will be testing it, they should > get sorted out in short order. Much applause for Keno and Mike for this > excellent work. > > Stefan > > <good news everyone.jpg> > > >
