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