⎕EC¨ returns the expected 3-element vector only for the first element
of ravel list of its argument and plain values for others.  If they
return no values, it fails; if they err, the interpreter hangs.

      ]boxing 7
      {⎕EC⍵}¨'12'
┌→──────────┐ ┌→──────────┐
│1 ┌→──┐ ┌─┐│ │1 ┌→──┐ ┌─┐│
│  │0 0│ │1││ │  │0 0│ │2││
│  └───┘ └─┘│ │  └───┘ └─┘│
└∊──────────┘ └∊──────────┘
      ⎕EC¨'12'
┌→──────────┐ 2
│1 ┌→──┐ ┌─┐│
│  │0 0│ │1││
│  └───┘ └─┘│
└∊──────────┘

      ⎕EC¨'→1'
┌→──────────┐ 1
│5 ┌→──┐ ┌⊖┐│
│  │0 0│ │0││
│  └───┘ └─┘│
└∊──────────┘
      ⎕EC¨'1→'
VALUE ERROR
      →
      ^
immediate_execution() caught APL error 0x30001 (VALUE ERROR)

      ⎕EC¨'+1'
┌→─────────────────────┐ 1
│0 ┌→──┐ ┌→───────────┐│
│  │2 2│ ↓SYNTAX ERROR││
│  └───┘ │      +     ││
│        │      ^     ││
│        └────────────┘│
└∊─────────────────────┘
      ⎕EC¨'1+'

The last expression hangs.


-k

Reply via email to