On Sat Dec 06 07:32:54 2008, [email protected] wrote: > the current HLLCompiler infrastructure seems to be an incomplete REPL, > since it only does Read-Eval-Loop. > This patch adds a simple Print step and a new attribute > commandline_result_prompt similar to commandline_prompt, defaulting to > "=> ". > It also changes the default commandline_prompt to " >> " to make the > two vertically aligned. > > A better approach may be splitting the functionality of the > interactive() method into calls to multiple overrideable methods > (read, print) to allow further > customization from users of the class. > > the difference is easy to show, with rakudo: > >> 1 > => 1 > >> 1+3 > => 4 > >> say "hello" > hello > => 1 > >> 1.WHAT > => Int > >> 1.HOW > => get_string() not implemented in class 'P6metaclass' > current instr.: 'parrot;PCT;HLLCompiler;interactive' pc 1072 > (src/PCT/HLLCompiler.pir:592) > called from Sub 'parrot;PCT;HLLCompiler;command_line' pc 1470 > (src/PCT/HLLCompiler.pir:793) > called from Sub 'parrot;Perl6;Compiler;main' pc 16749 (perl6.pir:166) > > vs > > 1 > > 1+3 > > say "hello" > hello > > 1.WHAT > > 1.HOW > > > > I did not install an exception handler for missing failure in the > internal say() call cause it feels this should not happen anyway. > > OTOH other exceptions are correctly handled as usual > >> say miao > Could not find non-existent sub miao > >> say $miao > Scope not found for PAST::Var '$miao' > >> > > > Furthermore, notice that if the result of the operation is null > nothing is printed (python-like behaviour) so for example the default > language shell will have > > >> say 1; > 1 > >> say "hello"; > "hello" > >> > > All parrot and rakudo tests seem to pass, which means that probably > there are no tests for this functionality at all. > > The patch respects the previous behaviour of special casing the PIR > target so that it does not print anything else.
Sorry for the delay - this patch had stalled waiting for review due to a ticketing system changeover, and in the meantime, no longer applies cleanly against parrot HEAD. Can you rebase this patch and resubmit it to https://trac.parrot.org/ ? Hopefully we can provide better turnaround next time. Thanks again! -- Will "Coke" Coleda _______________________________________________ http://lists.parrot.org/mailman/listinfo/parrot-dev
