-
Notifications
You must be signed in to change notification settings - Fork 6
Split the ambivalent system functions into monadic and dyadic pages #964
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Draft
abrudz
wants to merge
59
commits into
Dyalog:main
Choose a base branch
from
abrudz:957-split-ambivalent-sysfns
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Draft
Changes from all commits
Commits
Show all changes
59 commits
Select commit
Hold shift + click to select a range
ab6a088
Split the ambivalent system functions into monadic and dyadic pages
abrudz 1d5a167
Make each split page specific to its own form
abrudz 4b87cd1
Finish making each split page specific to its own form
abrudz 53f1183
Point the cross-references at the form that is meant
abrudz 6c1bab9
Add worked examples to four disambiguation pages
abrudz 45778d3
Add worked examples for four more disambiguation pages
abrudz fd9f0fd
Show only the relevant form in each page's examples
abrudz e0d7238
Repair links whose target ended with a separator
abrudz 37cc6bb
Space the left argument off the quad in the dyadic titles
abrudz c2112ab
Repair the prose left behind when examples moved to the sibling page
abrudz 6789bef
Merge branch 'main' into 957-split-ambivalent-sysfns
abrudz 586093e
Give the two ⎕AT pages the detail each was missing
abrudz 3b3f0c4
Polish the ⎕AT pages and give the dyadic page worked examples
abrudz f1246eb
Point the ⎕LOCK reference at the monadic page
abrudz 1950d78
Correct and tidy the two ⎕C pages
abrudz 8bcc8e9
Lowercase the Sigma text directly rather than round-tripping
abrudz 60015f5
Give dyadic ⎕CLASS an opening line and tidy both pages
abrudz 15f2b43
Lowercase base, class, instance and interface in the ⎕CLASS prose
abrudz 22b5c1a
Make each ⎕CSV page speak only to its own direction
abrudz 4e3d128
Move Internal Format below the argument and result discussions
abrudz f35e792
Place Internal Format right before MetaCharacters
abrudz 7155fcc
Italicise the emphasis on the ⎕ED pages and complete the dyadic examples
abrudz 820683f
Spell read-only in prose and match the example wording to each form
abrudz b2a649d
Note the default object type on the ⎕ED pages
abrudz 072849e
Cross-link the two ⎕EXPORT pages and reword the dyadic default
abrudz 8e6f86a
Point the monadic ⎕EXPORT intro at where the type is set
abrudz bf0083a
Cast the closing ⎕EXPORT notes as Warning and Legacy admonitions
abrudz 3c622df
Give the dyadic ⎕EXPORT warning a set-appropriate example
abrudz 648953f
Separate the two ⎕FCHK forms and tidy the options
abrudz da21bcf
Add left-argument examples to the dyadic ⎕FCHK page
abrudz 9ea38d4
Tidy the pseudo-component table on both ⎕FCHK pages
abrudz 76067e1
Capitalise the initial of Access matrix
abrudz ad2de92
Tidy the ⎕FHOLD pages and cross-link the two forms
abrudz 14e1bf5
Rework the two ⎕FIX pages for their own forms and house style
abrudz a739031
Fix the AllowLateBinding wording and reframe the dyadic Y column
abrudz b646364
Frame monadic ⎕FRESIZE as compaction and cross-link the two forms
abrudz e6073ae
Drop the redundant compaction sentence on monadic ⎕FRESIZE
abrudz 4b260ed
Drop the left arguments from the monadic ⎕JSON examples
abrudz f4c3da8
Reduce monadic ⎕LOCK to its fixed extent and give dyadic an example
abrudz cc1e039
Confine each ⎕MAP page to the file type it maps
abrudz 00c8484
Drop the italics from APL and raw on the ⎕MAP pages
abrudz 0142228
Drop the zero-length note from monadic ⎕MAP
abrudz 18b32d0
Replace the stray monadic ⎕MAP example with the ∆MPUT copy step
abrudz 1b2cc5d
Fold the file-content line into the ⎕MAP intros
abrudz d891c15
Mark ⎕MKDIR defaults in text and cross-link the two forms
abrudz 488dec1
Consolidate the Unique material on the ⎕MKDIR pages
abrudz 7d28a4e
Split the ⎕MKDIR result column by argument shape
abrudz 8a2684f
Tidy the ⎕MKDIR examples and links
abrudz 3fbf90f
Show the path in the ⎕MKDIR error message
abrudz 4044fbd
Rework the ⎕NA pages and restore their examples
abrudz c65d7d6
Code the FindWindow null pointer as P, matching the example
abrudz 4c7d20d
Remove the empty More Examples stub from dyadic ⎕NA
abrudz 1fa6b7b
Tidy the ⎕NDELETE pages and cross-link the forms
abrudz 4318473
Cross-link the ⎕NGET forms and correct the file-argument reference
abrudz 4003b2a
Reduce monadic ⎕NINFO to the name it returns
abrudz 7c01097
Mark the ⎕NINFO variant defaults in text on both pages
abrudz 8b12e94
Link dyadic ⎕NINFO back to monadic and name ⎕NPARTS in the link
abrudz 560cd5b
Set the ⎕NINFO wildcard and directory names as code
abrudz 05cfced
Reword the dyadic ⎕UCS domain-error sentence to name the triggering case
abrudz File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
22 changes: 22 additions & 0 deletions
22
language-reference-guide/docs/system-functions/at-disambiguation.md
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,22 @@ | ||
| --- | ||
| search: | ||
| exclude: true | ||
| --- | ||
|
|
||
| # <span>Attributes</span> `⎕AT` | ||
|
|
||
| ## Monadic `⎕AT` means | ||
|
|
||
| [Object Attributes](at-monadic.md) | ||
| ```apl | ||
| ⎕AT 'plus' | ||
| 1 1 0 2026 7 30 15 20 38 0 0 Pete | ||
| ``` | ||
|
|
||
| ## Dyadic `⎕AT` means | ||
|
|
||
| [Object Attributes for APL2](at-dyadic.md) | ||
| ```apl | ||
| 1 ⎕AT 'plus' | ||
| 1 1 0 | ||
| ``` |
90 changes: 90 additions & 0 deletions
90
language-reference-guide/docs/system-functions/at-dyadic.md
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,90 @@ | ||
| --- | ||
| search: | ||
| boost: 2 | ||
| --- | ||
|
|
||
| # <span>Object Attributes for APL2</span> `R←X ⎕AT Y`{{key}} | ||
|
|
||
| `Y` can be a simple character scalar, vector or matrix, or a vector of character vectors representing the names of 0 or more defined functions or operators. This function closely emulates the APL2 implementation; for the form that returns information more appropriate to Dyalog APL, see [Object Attributes](at-monadic.md). | ||
|
|
||
| `Y` specifies one or more names. If `Y` specifies a single name as a character scalar, a character vector, or as a scalar enclosed character vector, the result `R` is a vector. If `Y` specifies one or more names as a character matrix or as a vector of character vectors `R` is a matrix with one row per name in `Y`. | ||
|
|
||
| It returns the same rank and shape result containing information that matches the APL2 implementation as closely as possible. | ||
|
|
||
| The number of elements or columns in `R` and their meaning depends upon the value of `X` which may be 1, 2, 3 or 4. | ||
|
|
||
| If `X` is 1, `R` specifies _valences_ and contains 3 elements (or columns) whose meaning is as follows: | ||
|
|
||
| |---|----------------|---------------------------------------------------------------------------------------------------------------------------------------| | ||
| |1 |Explicit result |1 if the object has an explicit result or is a variable 0 otherwise | | ||
| |2 |Function valence|0 if the object is a niladic function or not a function 1 if the object is a monadic function 2 if the object is an ambivalent function| | ||
| |3 |Operator valence|0 if the object is not an operator 1 if the object is a monadic operator 2 if the object is a dyadic operator | | ||
|
|
||
| <h4 class="example">Examples</h4> | ||
|
|
||
| The following values correspond to the syntax shown alongside: | ||
|
|
||
| |-----|--------| | ||
| | `0 0 0` | `∇ FOO` | | ||
| | `1 0 0` | `∇ Z←FOO` | | ||
| | `1 0 0` | `∇ {Z}←FOO` | | ||
| | `0 2 0` | `∇ {A} FOO B` | | ||
| | `1 1 2` | `∇ {Z}←(F OP G)B` | | ||
|
|
||
| If `X` is 2, `R` specifies _fix times_ (the time the object was last updated) for functions and operators named in `Y`. The time is reported as 7 integer elements (or columns) in the same form as `⎕TS`, whose meaning is as follows. The fix time reported for names in `Y` which are not defined functions or operators is 0. | ||
|
|
||
| |---|-------------------------------------------| | ||
| |1 |Year | | ||
| |2 |Month | | ||
| |3 |Day | | ||
| |4 |Hour | | ||
| |5 |Minute | | ||
| |6 |Second | | ||
| |7 |Milliseconds (this is always reported as 0)| | ||
|
|
||
| If `X` is 3, `R` specifies _execution properties_ and contains 4 elements (or columns) whose meaning is as follows: | ||
|
|
||
| |---|------------------------|---------------------------------------------------------------------------------------| | ||
| |1 |Displayable |0 if the object is displayable 1 if the object is not displayable | | ||
| |2 |Suspendable |0 if execution will suspend in the object 1 if execution will not suspend in the object| | ||
| |3 |Weak Interrupt behaviour|0 if the object responds to interrupt 1 if the object ignores interrupt | | ||
| |4 | |(always 0) | | ||
|
|
||
| If `X` is 4, `R` specifies _object size_ and contains 2 elements (or columns) that both report the `⎕SIZE` of the object. | ||
|
|
||
| <h2 class="example">Examples</h2> | ||
|
|
||
| ```apl | ||
| ∇ {z}←{l}(fn myop)r | ||
|
|
||
| [1] ... | ||
|
|
||
| ∇ z←foo | ||
|
|
||
| [1] ... | ||
|
|
||
| ∇ z←{larg}util rarg | ||
|
|
||
| [1] ... | ||
|
|
||
| ⎕LOCK'foo' | ||
|
|
||
| util2←util | ||
|
|
||
| 1 ⎕AT 'myop' 'foo' 'util' 'util2' | ||
| 1 2 1 | ||
| 1 0 0 | ||
| 1 2 0 | ||
| 1 2 0 | ||
|
|
||
| 2 ⎕AT'myop' 'foo' 'util' 'util2' | ||
| 1996 8 2 2 13 56 0 | ||
| 0 0 0 0 0 0 0 | ||
| 1996 3 1 14 12 10 0 | ||
| 1998 8 26 16 16 42 0 | ||
| ``` | ||
|
|
||
| <!-- Hidden search keywords --> | ||
| <div style="display: none;"> | ||
| ⎕AT | ||
| </div> |
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.