As I understand (may be wrong as usual) trying to display an error via diadic ⎕cr is aborting your session.
I really think it's a bug. Abort is the worst thing in software, but it has his utility. Xtian. On 2015-05-04 20:32, [email protected] wrote:
Hi bug-apl, Check out this example. Without 4 ⎕cr I recieve a syntax error, as expected, but when I try to display the output using 4⎕cr , I recive a stack trace (the previous comma is grammatical, not APL-al). I hae not tried with other values of ⎕cr : .⊃¨+/¨5 5 ⍴⍳5 SYNTAX ERROR .⊃¨+/¨5 5⍴⍳5 ^ ^ 4 ⎕cr.⊃¨+/¨5 5 ⍴⍳5 ============================================================================== Assertion failed: rho_rho > 0 in Function: get_last_shape_item in file: Shape.hh:109 Call stack: ---------------------------------------- -- Stack trace at Shape.hh:109 ---------------------------------------- 0x7fa90e17bec5 __libc_start_main 0x443105 main 0x578fbd Workspace::immediate_execution(bool) 0x48d33a Command::process_line() 0x48d418 Command::do_APL_expression(UCS_string&) 0x4984bb Executable::execute_body() const 0x526950 StateIndicator::run() 0x4cd594 Prefix::reduce_statements() 0x4c80b5 Prefix::reduce_A_F_B_() 0x4a0d69 DerivedFunction::eval_AB(Value_P, Value_P) 0x464669 Bif_OPER1_EACH::eval_ALB(Value_P, Token&, Value_P) 0x46385a Bif_OPER1_EACH::finish_eval_ALB(EOC_arg&) 0x4a0c0d DerivedFunction::eval_AB(Value_P, Value_P) 0x46c53d Bif_OPER2_INNER::eval_ALRB(Value_P, Token&, Token&, Value_P) 0x46ba50 Bif_OPER2_INNER::inner_product(Value_P, Token&, Token&, Value_P) 0x46b483 Bif_OPER2_INNER::finish_inner_product(EOC_arg&, bool) 0x441ec2 0x4542b2 do_Assert(char const*, char const*, char const*, int) ======================================== SI stack: Depth: 1 Exec: 0x1e763b0 Safe ex: no Pmode: ◊ 4 ⎕cr.⊃¨+/¨5 5 ⍴⍳5 PC: 12 ENDL Stat: 4 ⎕cr.⊃¨+/¨5 5 ⍴⍳5 err_code: 0x0 thrown: at StateIndicator.cc:39 e_msg_1: 'No Error' e_msg_2: '' e_msg_3: '' Depth: 0 Exec: 0x1e75660 Safe ex: no Pmode: ◊ .⊃¨+/¨5 5 ⍴⍳5 PC: 11 RETURN_STATS Stat: .⊃¨+/¨5 5 ⍴⍳5 err_code: 0x20002 thrown: at Prefix.cc:378 e_msg_1: 'SYNTAX ERROR' e_msg_2: ' .⊃¨+/¨5 5⍴⍳5' e_msg_3: ' ^ ^' ==============================================================================
