You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/Discussion/TechDetails.md
+2-4Lines changed: 2 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -41,8 +41,6 @@ Note that *unnamed* namespaces are **NOT** supported, either as endpoints of a L
41
41
42
42
- Changes made using `←`, `⎕NS`, `⎕FX`, `⎕FIX`, `⎕CY`, `)NS` and `)COPY` are not currently detected. For Link to be aware of the change, a call must be made to [Link.Fix](../API/Link.Fix.md). Similarly, deletions with `⎕EX` or `)ERASE` must be replaced by a call to [Link.Expunge](../API/Link.Expunge.md).
43
43
44
-
- In Dyalog versions 18.2 or earlier, changes made using the line or "del" editor are not detected.
45
-
46
44
- The detection of external changes to files and directories is currently only supported if a supported flavour of .NET is available to the interpreter. Note that the built-in APL editor *will* detect changes to source files on all platforms, when it opens an editor window.
47
45
48
46
- Source code must not have embedded newlines within character constants. Although `⎕FX` does allow this, Link will error if this is attempted. This restriction comes because newline characters would be interpreted as a new line when saved as text file. When newline characters are needed in source code, they should be implemented by a call to `⎕UCS` e.g. `newline←⎕UCS 13 10 ⍝ carriage-return + line-feed`
@@ -55,7 +53,7 @@ Note that *unnamed* namespaces are **NOT** supported, either as endpoints of a L
55
53
56
54
## How does Link work?
57
55
58
-
Some people need to know what is happening under the covers before they can relax and move on. If you are not one of those people, do not waste any further time on this section. If you do read it, understand that things may change under the covers without notice, and we will not allow a requirement to keep this document up-to-date to delay work on the code. It is reasonably accurate as of February 2024, at the end of the Link 4.0 development cycle.
56
+
Some people need to know what is happening under the covers before they can relax and move on. If you are not one of those people, do not waste any further time on this section. If you do read it, understand that things may change under the covers without notice, and we will not allow a requirement to keep this document up-to-date to delay work on the code. It is reasonably accurate as of March 2025, at the end of the Link 4.1 development cycle.
59
57
60
58
**Terminology:** In the following, the term *object* is used very loosely to refer to functions, operators, namespaces, classes and arrays.
61
59
@@ -90,7 +88,7 @@ If .NET is available, Link uses a File System Watcher to monitor linked director
90
88
91
89
### The Source of Link itself
92
90
93
-
Link consists of a set of API functions which are loaded into the namespace `⎕SE.Link`, when APL starts, from **$DYALOG/StartupSession/Link**. The user command file **$DYALOG/SALT/SPICE/Link.dyalog** provides access to the interactive user command covers that exist for most of the API functions. Link 4.0 is pre-installed with Dyalog version 19.0 or later. To use version 4.0 with Dyalog 18.2, see the [installation instructions](../Usage/Installation.md).
91
+
Link consists of a set of API functions which are loaded into the namespace `⎕SE.Link`, when APL starts, from **$DYALOG/StartupSession/Link**. The user command file **$DYALOG/SALT/SPICE/Link.dyalog** provides access to the interactive user command covers that exist for most of the API functions. Link 4.1 is pre-installed with Dyalog version 20.0 or later. To use version 4.1 with Dyalog 19.0, see the [installation instructions](../Usage/Installation.md).
Copy file name to clipboardExpand all lines: docs/Usage/Arrays.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,6 @@
1
1
# Array Formats
2
2
3
-
By default, Link uses *APL Array Notation (APLAN)* to store arrays in text files. While APLAN is a good format for describing numeric data, nested arrays and many high rank arrays, it is not ideal for storing text data. Link 4.0 introduces experimental support for storing multi-line character data in simple text files.
3
+
By default, Link uses *APL Array Notation (APLAN)* to store arrays in text files. While APLAN is a good format for describing numeric data, nested arrays and many high rank arrays, it is not ideal for storing text data. Link 4.0 introduced experimental support for storing multi-line character data in simple text files.
4
4
5
5
The configuration setting `text` can be used to enable this feature: If `text` is set to `'aplan'` (the default) then all arrays will be store using APLAN. If `text` is set to `'plain'` then text arrays that adhere to a set of very specific criteria will instead be stored in plain text files. You can set this option when a link is created, or using [`Link.Configure`](../API/Link.Configure.md).
Copy file name to clipboardExpand all lines: docs/Usage/index.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -147,7 +147,7 @@ However, if you have arrays that represent error tables, range definitions or ot
147
147
Added: #.stats.Directions
148
148
```
149
149
150
-
By default, Link uses *APL Array Notation* to store arrays in text files. Link 4.0 introduces experimental support for storing multi-line character data in simple text files. For more information, see the section on [array formats](../Usage/Arrays.md).
150
+
By default, Link uses *APL Array Notation* to store arrays in text files. Link 4.0 introduced experimental support for storing multi-line character data in simple text files. For more information, see the section on [array formats](../Usage/Arrays.md).
151
151
152
152
Once you have created a source file for an array, Link *will* update that file if you use the editor to modify the array. Only if you modify the array using assignment or other means than the editor will you need to call [Link.Add](../API/Link.Add.md) to force an update of the source file.
Copy file name to clipboardExpand all lines: docs/index.md
+4-2Lines changed: 4 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -11,7 +11,7 @@
11
11
## Link is NOT...
12
12
13
13
-**A source code management system**: Link itself has no source code management features. As mentioned above, you will need to use a separate tool like Git to manage the source files that Link will allow you to use and modify from Dyalog APL.
14
-
-**A database management system:** although Link is able to store APL arrays using a pre-release of the *literal array notation*, this is only intended to be used for constants which you consider to be part of the source code of your applications. Although all functions and operators that you define using the editor will be written to source files by default, source files are only created for arrays by explicit calls to [Link.Add](API/Link.Add.md) or by specifying optional parameters to [Link.Export](API/Link.Export.md). Application data should be stored in a database management system or files managed by the application.
14
+
-**A database management system:** although Link is able to store APL arrays using *array notation*, this is only intended to be used for constants which you consider to be part of the source code of your applications. Although all functions and operators that you define using the editor will be written to source files by default, source files are only created for arrays by explicit calls to [Link.Add](API/Link.Add.md) or by specifying optional parameters to [Link.Export](API/Link.Export.md). Application data should be stored in a database management system or files managed by the application.
15
15
16
16
## Link fundamentals
17
17
@@ -37,7 +37,9 @@ If .NET is available, then any changes made to the external files using a text e
37
37
!!!Note
38
38
For Dyalog to automatically update workspace contents due to file changes requires .NET.
39
39
40
-
The .NET Framework is included with Microsoft windows. For other platforms, .NET can be downloaded from [dotnet.microsoft.com/download](https://dotnet.microsoft.com/download).
40
+
The .NET Framework is included with Microsoft windows. For other platforms
41
+
or more recent versions of .NET, .NET can be downloaded from
To find out which versions are supported, see [section 2.1 of the .NET Interface Guide](https://docs.dyalog.com/latest/dotNET%20Interface%20Guide.pdf) and under the heading "Prerequisites" in [chapter 1 of the Dyalog for Microsoft Windows .NET Framework Interface Guide](https://docs.dyalog.com/latest/Dyalog%20for%20Microsoft%20Windows%20.NET%20Framework%20Interface%20Guide.pdf).
0 commit comments