System Function EM: Difference between revisions

From NARS2000
Jump to navigationJump to search
Paul Robinson (talk | contribs)
No edit summary
No edit summary
 
(One intermediate revision by one other user not shown)
Line 1: Line 1:
<h1><apl>{quad}EM</apl> - Error Message</h1>
<h1><aplxx>⎕EM</aplxx> - Error Message</h1>
{{BoxStart|<apll>{quad}EM</apll>
{{BoxStart|<apll>⎕EM</apll>
|Return the value of the current error message|}}
|Return the value of the current error message|}}
{{BoxEnd|}}
{{BoxEnd|}}


<apll>{quad}EM</apll> is an [[ISO 13751]] standard niladic system function which returns the current error message. This is an array of three strings. The first element is the text of the error message itself, in all upper case. The second element is the line typed in or the line of the function where the error occurred. The third element is usually a caret (^) pointing to where the error in the line shown in the second element occurred.
<apll>⎕EM</apll> is an [https://www.iso.org/standard/22817.html ISO/IEC 13751] standard niladic system function which returns the current error message. This is a character matrix of three rows. The first row is the text of the error message itself. The second row is the line typed in or the line of the function where the error occurred. The third row is usually a caret (<apll>∧</apll>) pointing to where the error in the line shown in the second element occurred.


The format of <apll>{quad}EM</apll> is implementation dependent. Here is an example from NARS2000 on an attempt to make 2+2 = 5:<br/>
The format of <apll>⎕EM</apll> is implementation dependent. Here is an example from NARS2000 on an attempt to make <apll>2+2 = 5</apll>:
<code><big>'''
 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;a←2+2<br/>
<apll><pre>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;a<br/>
      5←2+2  
4<br/>
SYNTAX ERROR  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;5←2+2<br/>
      5←2+2  
SYNTAX ERROR<br/>
      ∧  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;5←2+2<br/>
      ⎕EM  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;∧<br/>
SYNTAX ERROR  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;a<br/>
      5←2+2  
4<br/>
      ∧
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;⎕EM<br/>
      ⍴⎕EM
SYNTAX ERROR<br/>
3 12
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;5←2+2 <br/>
</pre></apll>       
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;∧   <br/>
'''</big></code>       


{{SFN|EM}}
{{SFN|EM}}
{{System Variables}}

Latest revision as of 12:20, 16 April 2018

⎕EM - Error Message

⎕EM Return the value of the current error message

⎕EM is an ISO/IEC 13751 standard niladic system function which returns the current error message. This is a character matrix of three rows. The first row is the text of the error message itself. The second row is the line typed in or the line of the function where the error occurred. The third row is usually a caret (∧) pointing to where the error in the line shown in the second element occurred.

The format of ⎕EM is implementation dependent. Here is an example from NARS2000 on an attempt to make 2+2 = 5:

      5←2+2 
SYNTAX ERROR 
      5←2+2 
       ∧ 
      ⎕EM 
SYNTAX ERROR 
      5←2+2 
       ∧
      ⍴⎕EM
3 12


Note: ⎕EM is a niladic form system function, you cannot assign a value to it.

System Variables (A value may be assigned to these except for ⎕DM)
⎕ALX ⎕CT ⎕DM ⎕DT ⎕ELX ⎕FC ⎕FEATURE ⎕FPC ⎕IC ⎕IO
⎕LR ⎕LX ⎕PP ⎕PR ⎕PW ⎕RL ⎕SA ⎕WSID
Niladic System Functions (a value cannot be assigned to these)
⎕A ⎕AV ⎕EM ⎕ET ⎕LC ⎕NNAMES ⎕NNUMS ⎕SI ⎕SYSID ⎕SYSVER
⎕T ⎕TC ⎕TCBEL ⎕TCBS ⎕TCESC ⎕TCFF ⎕TCHT ⎕TCLF ⎕TCNL ⎕TCNUL
⎕TS ⎕WA
Monadic or dyadic system functions (a value cannot be assigned to these)
⎕AT ⎕CR ⎕DC ⎕DFT ⎕DL ⎕DR ⎕EA ⎕EC ⎕ERROR ⎕ES
⎕EX ⎕FMT ⎕FX ⎕MF ⎕NAPPEND ⎕NC ⎕NCREATE ⎕NERASE ⎕NINFO ⎕NL
⎕NLOCK ⎕NREAD ⎕NRENAME ⎕NREPLACE ⎕NRESIZE ⎕NSIZE ⎕NTIE ⎕NUNTIE ⎕STOP ⎕TF
⎕TRACE ⎕UCS ⎕VR
Note that quad functions and variables (except for the ⎕A family of functions) are case insensitive


See Also
System Commands System Variables and Functions Operators


Keyboard
A+S ⍪ ≡ ≢ ⍒ ⍋ ⌽ ⍉ ⊖ ⍟ ⍱ ⍲ ⍠ ⌹
Alt ⋄ ¨ ¯ < ≤ ∅ ≥ > ≠ ∨ ∧ × ÷
Sh ~ ! @ # $ % ^ & * ( ) _ +
Key ` 1 2 3 4 5 6 7 8 9 0 - =
A+S ⍷ √ ⍨ ⍸ ⍥ ⍣ ⍞ ⍬ ⊣
Alt ? ⍵ ∊ ⍴ § ↑ ↓ ⍳ ○ π ← → ⊢
Sh Q W E R T Y U I O P { } |
Key q w e r t y u i o p [ ] \
A+S ∫ ∂ ⌻ ⍢ ⍙ ⍤ ⍫ ⌷
Alt ⍺ ⌈ ⌊ ∞ ∇ ∆ ∘ ‼ ⎕ ⍎ ⍕
Sh A S D F G H J K L : "
Key a s d f g h j k l ; '
A+S ⊆ ⊇ χ ⍡ ⍭ ⊙
Alt ⊂ ⊃ ∩ ∪ ⊥ ⊤ ⍦ ⍝ ⍀ ⌿
Sh Z X C V B N M < > ?
Key z x c v b n m , . /
{{#ifeq:0|4||title="match" style="border-width:thick; border-color:blue; background-color:yellow;"|≡ {{#ifeq:0|7||title="iota" style="border-width:thick; border-color:blue; background-color:yellow;" |⍳ {{#ifeq:0|9||title="slash" style="border-width:thick; border-color:blue; background-color:yellow;" |/ {{#ifeq:0|11||title="diamond" style="border-width:thick; border-color:blue; background-color:yellow;" |⋄ {{#switch: 0
NARS 2000 Lang
Tool
Bar

{{#ifeq:0|1||title="assign" style="border-width:thick; border-color:blue; background-color:yellow;" |←

→ bgcolor=cyan title="assign" |← → }}

{{#ifeq:0|2||title="plus" style="border-width:thick; border-color:blue; background-color:yellow;" |+

- × ÷ * ⍟ ⌹ ○ ! ? √ bgcolor=cyan title="plus" |+ - × ÷ * ⍟ ⌹ ○ ! ? √ }}

{{#ifeq:0|3||title="mod" style="border-width:thick; border-color:blue; background-color:yellow;" ||

⌈ ⌊ ⊥ ⊤ ⊣ ⊢
⌈ ⌊ ⊥ ⊤ ⊣ ⊢
≢ < ≤ = ≥ > ≠ bgcolor=cyan title="match" |≡ ≢ < ≤ = ≥ > ≠ }}

{{#ifeq:0|5||title="down caret" style="border-width:thick; border-color:blue; background-color:yellow;" |∨

∧ ⍱ ⍲ bgcolor=cyan title="down caret" |∨ ∧ ⍱ ⍲ }}

{{#ifeq:0|6||title="take" style="border-width:thick; border-color:blue; background-color:yellow;" |↑

↓ ⊂ ⊃ ⌷ ⍋ ⍒
↓ ⊂ ⊃ ⌷ ⍋ ⍒
∊ ⍸ ⍷ ∪ ∩ ⊆ ⊇ ~ § π .. bgcolor=cyan title="iota" |⍳ ∊ ⍸ ⍷ ∪ ∩ ⊆ ⊇ ~ § π .. }}

{{#ifeq:0|8||title="comma" style="border-width:thick; border-color:blue; background-color:yellow;" |,

⍪ ⍴ ⌽ ⊖ ⍉
⍪ ⍴ ⌽ ⊖ ⍉
\ ⌿ ⍀ ⊙ ¨ ⍨ ⍤ ⍡ ⍥ ⍦ . ∘ ⍠ ‼ ⌻ ∂ ∫ bgcolor=cyan title="slash" |/ \ ⌿ ⍀ ⊙ ¨ ⍨ ⍤ ⍣ ⍡ ⍥ ⍦ . ∘ ⍠ ‼ ⌻ ∂ ∫ }}

{{#ifeq:0|10||title="quotequad" style="border-width:thick; border-color:blue; background-color:yellow;" |⍞

⎕ ⍎ ⍕
⎕ ⍎ ⍕
⍝ ∇ ∆ ⍙ _ ⍺ ⍵ bgcolor=cyan title="diamond" |⋄ ⍝ ∇ ∆ ⍙ _ ⍺ ⍵ }}

{{#ifeq:0|12||title="neg" style="border-width:thick; border-color:blue; background-color:yellow;" |¯

⍬ ∞ title="neg" |¯ ⍬ ∞ ∅
colspan=8 |Second Row i j k a b e g p r v x z colspan=8 |Second Row i j k a b e g p r v x z colspan=8 |Second Row i j k a b e g p r v x z colspan=6 |Second Row i j k i j k l g p r v x

}}

{{#ifeq:0|0| |}}