Statement separator: Difference between revisions

Jump to navigation Jump to search
9 bytes removed ,  23:12, 10 November 2022
no edit summary
No edit summary
No edit summary
Line 1: Line 1:
Statement Separator (<syntaxhighlight lang=apl inline>⋄</syntaxhighlight>) often called by the name of its glyph Diamond, allows you to place multiple statements on a single line. It works both inside a function and directly within the interpreter. Statement separators can be empty.
Statement Separator <syntaxhighlight lang=apl inline>⋄</syntaxhighlight> often called by the name of its glyph Diamond, allows you to place multiple statements on a single line. It works both inside a function and directly within the interpreter. Statement separators can be empty.


It is important to note that using a Statement Separator(<syntaxhighlight lang=apl inline>⋄</syntaxhighlight>) forces the interpreter to read from left to right. Each separated statement will be read as if it is on it's own line.  
It is important to note that using a Statement Separator <syntaxhighlight lang=apl inline>⋄</syntaxhighlight> forces the interpreter to read from left to right. Each separated statement will be read as if it is on it's own line.  


In Iverson's Dictionary of APL <ref>[[Kenneth E. Iverson|Iverson, Kenneth]]. [https://www.jsoftware.com/papers/APLDictionary1.htm#3e "Dictionary of APL"]. [[Sansom]] 1987.</ref> he states "expressions using the statement separator (<syntaxhighlight lang=apl inline>⋄</syntaxhighlight>) can be mimicked by expressions using the verb left [[Identity]]. The primary difference is that the separation imposed by <syntaxhighlight lang=apl inline>⊣</syntaxhighlight> follows the normal rules for order of execution."  
In Iverson's Dictionary of APL <ref>[[Kenneth E. Iverson|Iverson, Kenneth]]. [https://www.jsoftware.com/papers/APLDictionary1.htm#3e "Dictionary of APL"]. [[Sansom]] 1987.</ref> he states "expressions using the statement separator <syntaxhighlight lang=apl inline>⋄</syntaxhighlight> can be mimicked by expressions using the verb left [[Identity]]. The primary difference is that the separation imposed by <syntaxhighlight lang=apl inline>⊣</syntaxhighlight> follows the normal rules for order of execution."  


[[APL/700]] uses a semicolon to achieve the same effect as the left tack (<syntaxhighlight lang=apl inline>⊣</syntaxhighlight>).
[[APL/700]] uses a semicolon to achieve the same effect as the left tack <syntaxhighlight lang=apl inline>⊣</syntaxhighlight>.


According to the Sharp APL Reference Manual<ref>[[Paul Berry|Berry, Paul]]. [https://archive.org/details/sharp-apl-reference-manual_202108 "Sharp APL Reference Manual"]. [[IP Sharp]] 1987.</ref> [[branching]] <syntaxhighlight lang=apl inline>→</syntaxhighlight> takes precedence over statement separators. ie "If the expression to the right of the branch is not empty, the system goes immediately to the line whose number is the first element in that expression"  
According to the Sharp APL Reference Manual<ref>[[Paul Berry|Berry, Paul]]. [https://archive.org/details/sharp-apl-reference-manual_202108 "Sharp APL Reference Manual"]. [[IP Sharp]] 1987.</ref> [[branching]] <syntaxhighlight lang=apl inline>→</syntaxhighlight> takes precedence over statement separators. ie "If the expression to the right of the branch is not empty, the system goes immediately to the line whose number is the first element in that expression"  


When tracing errors within a line containing statement separators (<syntaxhighlight lang=apl inline>⋄</syntaxhighlight>), statements to the right of the caret have not yet been executed.  
When tracing errors within a line containing statement separators <syntaxhighlight lang=apl inline>⋄</syntaxhighlight>, statements to the right of the caret have not yet been executed.  


Statement separators to the right of a [[comment]] <syntaxhighlight lang=apl inline>⍝</syntaxhighlight> are ignored.  
Statement separators to the right of a [[comment]] <syntaxhighlight lang=apl inline>⍝</syntaxhighlight> are ignored.  
39

edits

Navigation menu