|There's more than one way to do things|
Re: Misc thoughts on YAPC::EU talk "From Debugger to Interactive Shell"by LanX (Canon)
|on Sep 19, 2012 at 09:12 UTC||Need Help??|
> But a failing of the eval approach as you note is that if there's a syntax error somewhere inside you'll never know when to stop. No suffix of the previous input will never be valid. A slight improvement might be to parse the error message to see there's something that is unambiguously unfixable. Things like "Can't find string terminator" or "... anywhere before EOF" suggest continuation. Too many things fall in the middle though.
ATM I'm solving this by stopping multi-line after manually typing a double semicolon ";;". I just patched the mechanism for parsing "\" at end of line.
And yes on the long run one needs a better "perl parser".
Thats why I started a spin off project for "empiric" parsing, which even works well detecting nested structures in its actual very Q&D form (mentioned in the slides)
I plan to release it on GitHub/CPAN, as soon as my actual proj€ct end$, maybe it can even help with other REPL projects.
> Finally in the slides you seem to place a big emphasis on using things that are in Perl core.
perl5db is deeply integrated in many tools, including my preferred IDE. And thankfully my patches work there out-of-the box!
And I'm regularly working on remote servers where installing new modules is very "political" ... but nobody can fire me for my personal rc-file.
I like Devel::Trepan and I can follow many of your arguments and I certainly didn't mean to attack your efforts.
But ATM there are so many shell/repl/debugger solutions on CPAN and none became core till now.
And I need solutions now.