bug-apl
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Error while running function copied from another workspace


From: Dr . Jürgen Sauermann
Subject: Re: Error while running function copied from another workspace
Date: Mon, 5 Feb 2024 16:20:30 +0100
User-agent: Mozilla Thunderbird

Hi Paul,

thanks, fixed in SVN 1746.

BTW, GNU APL has as number of ⎕CR sub-functions which do
pretty much the same as (or occasionally nicer than) the
DISPLAY workspace from IBM APL2. E.g.

      2 ⎕CR ⊂1 2 3
.→----.
|1 2 3|
'-----'
      3 ⎕CR ⊂1 2 3
┏→━━━━┓
┃1 2 3┃
┗━━━━━┛

See ⎕CR ⍬ for a full list.

Best Regards,
Jürgen


On 2/3/24 23:22, Paul Rockwell wrote:
GNU APL SVN 1744M running on macOS 14.3 on Apple Silicon.

I copied a function from a workspace (in this case, it's the DISPLAY function from IBM APL2 transcribed from the book "APL2 At a Glance':

      )copy TOOLBOX DISPLAY

SAVED 2024-02-03 16:54:36 (GMT-5)


I then attempted to run DISPLAY:

      DISPLAY 'ABC'


which resulted in the following:

==============================================================================

Assertion failed: start <= body_from_to.low

in Function:      set_error_info

in file:          /Volumes/MyPassport/paulrockwell/Documents/Build/GNU_APL/src/Executable.cc:603


......... useless lines redacted ...........


SI stack:


Depth:      3

Exec:       0x117f04230

Safe exec:  0

Pmode:      ∇ DISPLAY[4]

PC:         4 (561) VALUE1«≡⊏4⊐S←⍴A»

Stat:       ⍎(0=⎕NC 'S')/'S←⍴A'

err_code:   0x0


Depth:      2

Exec:       0x600000d98050

Safe exec:  0

Pmode:      ◊  DISPLAY 'ABC'

PC:         3 (4) RETURN_STATS

Stat:       DISPLAY 'ABC'

err_code:   0x0


Depth:      1

Exec:       0x117f04230

Safe exec:  0

Pmode:      ∇ DISPLAY[4]

PC:         4 (561) VALUE1«≡⊏4⊐S←⍴A»

Stat:       ⍎(0=⎕NC 'S')/'S←⍴A'

err_code:   0xA01

thrown at:  /Volumes/MyPassport/paulrockwell/Documents/Build/GNU_APL/src/Executable.cc:603

e_msg_1:    'Assertion failed'

e_msg_2:    ''

e_msg_3:    ''


Depth:      0

Exec:       0x600000d906e0

Safe exec:  0

Pmode:      ◊  DISPLAY 'ABC'

PC:         3 (4) RETURN_STATS

Stat:       DISPLAY 'ABC'

err_code:   0x0


Examining the call trace in a debugger shows the error is being thrown starting with the following code at line 2358 in Prefix.cc:

void

Prefix::reduce_END_B__()

{

   Assert1(prefix_len == 2);


   if (size() != 2)   syntax_error(LOC);   // <- this is the line throwing the error


If I clear the workspace, copy the function,  display the function, and then run it, no error occurs:

      )clear

CLEAR WS

      )COPY TOOLBOX DISPLAY

SAVED 2024-02-03 16:54:36 (GMT-5)

      ∇DISPLAY[⎕]∇

    ∇

[0]   D←S DISPLAY A;⎕IO;R;C;HL;HC;HT;HB;VL;VB;V;W;N;B

....... function display redacted for clarity ..........

    ∇

      DISPLAY 'ABC'

.→--.

|ABC|

'---'

 
I've attached a copy of the TOOLBOX workspace with the function that exhibits the error.

- Paul




reply via email to

[Prev in Thread] Current Thread [Next in Thread]