I saw a multiple assignment statement in the book "Learning APL with APLX", and tried it, not knowing if GNU-APL accepted it or not. I expected maybe a syntax error, but instead it crashes with a backtrace. I know 'a←b←c←5' works, but I was just playing around with a statement I hadn't seen before.
(a b c) ← 5 ============================================================================== Assertion failed: get_ValueType() == TV_SYM in Function: get_sym_ptr in file: ./Token.hh:240 C/C++ call stack: ---------------------------------------- -- Stack trace at Assert.cc:75 ---------------------------------------- 0x10a8ed87e main 0x10aab66c5 Workspace::immediate_execution(bool) 0x10a9422cf Command::process_line() 0x10a956bd7 Command::finish_context() 0x10a96b675 Executable::execute_body() const 0x10aa400f5 StateIndicator::run() 0x10a9b4f7f Prefix::reduce_statements() 0x10a9b4966 Prefix::reduce_V_RPAR_ASS_B() 0x10a9012d6 do_Assert(char const*, char const*, char const*, int) ======================================== ======================================== SI stack: Depth: 0 Exec: 0x7fad16423400 Safe exec: 0 Pmode: ◊ (a b c) ← 5 PC: 5 (9) '(... a)← Stat: (a b c) ← 5 err_code: 0x0 ============================================================================== $ apl --cfg BUILDTAG: --------- Project: GNU APL Version / SVN: 1.8 / SVN: 1767M Build Date: 2024-03-18 02:40:56 UTC Build OS: Darwin 19.6.0 x86_64 config.status: default ./configure options Archive SVN: 1747 -- Mike Hall