System Function NL: Difference between revisions

From NARS2000
Jump to navigationJump to search
No edit summary
 
(One intermediate revision by the same user not shown)
Line 11: Line 11:
       <td></td>
       <td></td>
       <td></td>
       <td></td>
       <td>returns a character ''matrix'' of user '''function names''' and or '''variable names''' where <apll>R</apll> = 3 (function names) and or 2 (variable names).</td>
       <td>returns a character ''matrix'' of the names of '''variables''', '''functions''', '''operators''', etc. where <apll>R</apll> = 2 (variables), 3 (functions), 4 (operators), etc.</td>
     </tr>
     </tr>
     </table>
     </table>
Line 17: Line 17:
</tr>
</tr>
<tr>
<tr>
   <td><apll>R</apll> is either 2 (variable names) or 3 (function names) or 2 3 (both function and variable names).</td>
   <td><apll>R</apll> is an integer scalar or vector consisting of the name classes whose names should be returned in <apll>Z</apll>.  For a complete list of Name Classes, see the description of [[System_Function_NC|Quad Name Classification <apll>⎕NC</apll>]].</td>
</tr>
</tr>
<tr>
<tr>
Line 116: Line 116:
<hr width=50%>
<hr width=50%>


NARS has added additional features over and beyond APL's standard ⎕NL. Magic Functions are in some ways for advanced APL programmers and or NARS developers - or anyone with a great idea to improve APL's functionality, see NARS Discussion Board on topics such as '''[http://nars2000.forumatic.com/viewforum.php?f=9 New Primitive Operators]'''.  To see all magic functions available in NARS use the following:
NARS has added additional features over and beyond APL's standard <apll>⎕NL</apll>. Magic Functions are in some ways for advanced APL programmers and or NARS developers - or anyone with a great idea to improve APL's functionality, see NARS Discussion Board on topics such as '''[http://nars2000.forumatic.com/viewforum.php?f=9 New Primitive Operators]'''.  To see all magic functions available in NARS use the following:
<pre>
<pre>
       ⎕NL 23 24    ⍝ list all Magic Functions and Operators
       ⎕NL 23 24    ⍝ list all Magic Functions and Operators
Line 209: Line 209:
</pre>
</pre>


Most magic functions are transparent to you the APL user since they implement APL symbol functionality; however, they '''<u>enhance APL's functionality</u>''', ref. [[System_Function_FMT|⎕FMT]].
Most magic functions are transparent to you the APL user since they implement APL symbol functionality; however, they '''<u>enhance APL's functionality</u>''', ref. [[System_Function_FMT|<apll>⎕FMT</apll>]].
<hr width=70%>
<hr width=70%>


Line 222: Line 222:
       <td></td>
       <td></td>
       <td></td>
       <td></td>
       <td>returns a character ''matrix'' of user '''function names''' and or '''variable names''' where <apll>R</apll> = 3 (function names) and or 2 (variable names)..</td>
       <td>returns a character ''matrix'' of the names of user '''variables''', '''functions''', '''operators''', etc. where <apll>R = 2</apll> (variables), <apll>3</apll> (functions), <apll>4</apll> (operators), etc.</td>
     </tr>
     </tr>
     </table>
     </table>
Line 228: Line 228:
</tr>
</tr>
<tr>
<tr>
   <td><apll>R</apll> is either 2 (var names) or 3 (fns names) or 2 3 (both fns and vars).</td>
   <td><apll>R</apll> is one of more of <apll>2</apll> (variables), <apll>3</apll> (functions), <apll>2 3</apll> (both functions and variables), etc.  For a complete list of Name Classes, see the description of [[System_Function_NC|Quad Name Classification <apll>⎕NC</apll>]].</td>
</tr>
</tr>
<tr>
<tr>
   <td><apll>L</apll> is a '''letter''' or '''letters''' for LIMITING fns/var names list, i.e. which BEGIN with the letter(s) to show.</td>
   <td><apll>L</apll> is a '''letter''' or '''letters''' for limiting the names list, i.e. which begin with the letter(s) to show.</td>
</tr>
</tr>


Line 243: Line 243:
</pre>
</pre>


Function '''⎕NL may be used inside user functions''' whereas system commands )FNS and )VARS cannot be used inside a user function.
Function '''<apll>⎕NL</apll> may be used inside user functions''' whereas system commands <apll>)FNS</apll> and <apll>)VARS</apll> cannot be used inside a user function.
<br><br>
<br><br>
'''See Also: [[System_Function_NC|Quad Name Classif. ⎕NC]]'''<br>
'''See Also: [[System_Function_NC|Quad Name Classification <apll>⎕NC</apll>]]'''<br>


{{SFDM|NL}}
{{SFDM|NL}}

Latest revision as of 00:27, 10 March 2019

Quad Name List - ⎕NL     (System Function)

Monadic Function

Z←⎕NL R returns a character matrix of the names of variables, functions, operators, etc. where R = 2 (variables), 3 (functions), 4 (operators), etc.
R is an integer scalar or vector consisting of the name classes whose names should be returned in Z. For a complete list of Name Classes, see the description of Quad Name Classification ⎕NC.
Z is a character matrix of user objects in the workspace, each row being a name in the workspace.


Quad Names List sample monadic calls:

      ⎕NL 3     ⍝ list function names in the active workspace
      ⎕NL 2     ⍝ list variable names in the active workspace
      ⎕NL 3 2   ⍝ list function AND variable names in the active workspace
      ⍴⎕NL 3    ⍝ The shape of names list - 1st element returned(# rows) shows the "user Function Count" in the active workspace

List all APL Quad System Variables (per APL Standard):

      ⎕NL 5
⎕alx    
⎕ct     
⎕dm     
⎕dt     
⎕elx    
⎕fc     
⎕feature
⎕fpc    
⎕ic     
⎕io     
⎕lx     
⎕pp     
⎕pr     
⎕pw     
⎕rl     
⎕sa     
⎕wsid   

List all APL Quad System Functions (per APL Standard):

      ⎕NL 6
⎕a       
⎕at      
⎕av      
⎕cr      
⎕d       
⎕dl      
⎕dr      
⎕ea      
⎕ec      
⎕em      
⎕error   
⎕es      
⎕et      
⎕ex      
⎕fmt     
⎕fx      
⎕lc      
⎕mf      
⎕nappend 
⎕nc      
⎕ncreate 
⎕nerase  
⎕nl      
⎕nlock   
⎕nnames  
⎕nnums   
⎕nread   
⎕nrename 
⎕nreplace
⎕nresize 
⎕nsize   
⎕ntie    
⎕nuntie  
⎕sysid   
⎕sysver  
⎕t       
⎕tc      
⎕tcbel   
⎕tcbs    
⎕tcesc   
⎕tcff    
⎕tcht    
⎕tclf    
⎕tcnl    
⎕tcnul   
⎕tf      
⎕ts      
⎕ucs     
⎕vr      
⎕wa     

NARS has added additional features over and beyond APL's standard ⎕NL. Magic Functions are in some ways for advanced APL programmers and or NARS developers - or anyone with a great idea to improve APL's functionality, see NARS Discussion Board on topics such as New Primitive Operators. To see all magic functions available in NARS use the following:

      ⎕NL 23 24     ⍝ list all Magic Functions and Operators
#BoxFMT         
#Conform        
#DydConv        
#DydDnShoe      
#DydDomino      
#DydDotDot      
#DydEpsUnderbar 
#DydIota        
#DydIotaUnderbar
#DydLRShoeUnd   
#DydRank        
#DydScan        
#DydScan1       
#DydUpShoe      
#IdnConv        
#IdnDot         
#IdnJotDot      
#MAD            
#MDIU           
#MEO            
#MI             
#MIO            
#MLRS           
#MLRSU          
#MM             
#MMUL           
#MonDnShoe      
#MonDomino      
#MonDot         
#MonDotAll      
#MonDotCr       
#MonDotMf       
#MonDotPerm     
#MonFMT         
#MonIota        
#MonRank        
#MonVR          
#MSD            
#MU             
#RoS2           
#RoS1L          
#RoS1R          
#SD             
      ⎕NL 23
#BoxFMT         
#Conform        
#DydDnShoe      
#DydDomino      
#DydDotDot      
#DydEpsUnderbar 
#DydIota        
#DydIotaUnderbar
#DydLRShoeUnd   
#DydUpShoe      
#IdnDot         
#MAD            
#MDIU           
#MEO            
#MI             
#MIO            
#MLRS           
#MLRSU          
#MM             
#MMUL           
#MonDnShoe      
#MonDomino      
#MonDotAll      
#MonDotMf       
#MonDotPerm     
#MonFMT         
#MonIota        
#MonVR          
#MSD            
#MU             
#SD             
      ⎕NL 24
#DydConv  
#DydRank  
#DydScan  
#DydScan1 
#IdnConv  
#IdnJotDot
#MonDot   
#MonDotCr 
#MonRank  
#RoS2     
#RoS1L    
#RoS1R    

Most magic functions are transparent to you the APL user since they implement APL symbol functionality; however, they enhance APL's functionality, ref. ⎕FMT.


Dyadic Function

Z←L ⎕NL R returns a character matrix of the names of user variables, functions, operators, etc. where R = 2 (variables), 3 (functions), 4 (operators), etc.
R is one of more of 2 (variables), 3 (functions), 2 3 (both functions and variables), etc. For a complete list of Name Classes, see the description of Quad Name Classification ⎕NC.
L is a letter or letters for limiting the names list, i.e. which begin with the letter(s) to show.


Quad Names List sample dyadic calls:

      "A" ⎕NL 3     ⍝ List all function names beginning with A.
      "M" ⎕NL 2     ⍝ List all variable names beginning with M.
      "AC" ⎕NL 3 2  ⍝ List all function AND variable names beginning with letter "A" and also letter "C".

Function ⎕NL may be used inside user functions whereas system commands )FNS and )VARS cannot be used inside a user function.

See Also: Quad Name Classification ⎕NC


Note: ⎕NL is available as both a monadic and dyadic 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 , . /
NARS 2000 Lang
Tool
Bar
+ - × ÷ * ! ? |
< = >
~ § π .. ,
/ \ ¨ .
_ ¯
Second Row i j k i j k l g p r v x