⎕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