14. An Intersection primitive (dyadic ∩)
(the symbols are there)
15. A ⎕a system constant returning 'abcdefghijklmnopqrstuvwxyz'
16. A ⎕b system constant returning 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
17. A ⎕c system constant returning '∆⍙_'
18. A ⎕d system constant returning '0123456789'
19. The equivalent of ⎕watchpoints but for ⎕wi property value changes
(i.e. execution would halt as soon as a given property, say 'caption' is set: in large and complex applications it sometimes is very cumbersome and time consuming to find out where a ⎕wi property has been changed in the code)
20. A ⎕days system function returning the day names in a given culture
Example: ⎕days'en-US' or ⎕days'fr-FR'
21. A ⎕months system function returning the month names in a given culture
Example: ⎕months'en-US' or ⎕months'sv'
22. What I call "Virtual Functions" i.e. functions which are not in the workspace, only in a file repository (maybe UCMD file) but that would completely behave as if they were in the workspace. For this to work, they could be prefixed by an ampersand (&).
So, in an empty workspace:
5 &plus 6
would work by the interpreter seeing the & prefix, thus fetching the plus function from the repository, executing it and erasing it
Extension of this could be:
)ed &plus
would fetch the function plus from the repository
load it in the APL+Win Editor
when Ctrl+E would save the function back to the repository and erase it from the workspace
Another extension is that &plus should work in a function body, so the following should be possible:
- Code: Select all
∇ r←a Test b
[1] r←a &Test1 b
∇
∇ r←a Test1 b
[1] r←a &plus b
∇
∇ r←a plus b
[1] r←a+b
∇
⍝ save the Test Test1 and plus functions to the repository
⍝ then:
)clear
CLEAR WS
5 &Test 10
15
)fns
The functions file repository could be defined in the [Config] section of the APLW.INI file.