4,494
edits
(Created page with "'''dfns.dws''' is a workspace which is supplied together with Dyalog APL. It's is a collection of examples of programming in direct functions, which were written b...") Tags: Mobile edit Mobile web edit |
No edit summary |
||
(4 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
'''dfns.dws''' is a workspace which is supplied together with [[Dyalog APL]]. | '''dfns.dws''' is a [[workspace]] which is supplied together with [[Dyalog APL]]. Since the introduction of [[dfn|direct functions]] in 1996, and their inclusion in Dyalog APL version 8.1,<ref>[[John Scholes]]. [https://www.dyalog.com/uploads/documents/Papers/dfns.pdf Direct Functions in Dyalog APL]. Dyadic Vendor Forum at APL96.</ref> people have been contributing to the collection. | ||
Late [[John Scholes]] was the editor of this workspace. He presented a talk about the contents of the workspace at [[Dyalog user meeting|Dyalog '09]].<ref>[[Dyalog user meeting|Dyalog '09]] C03: Introduction to D-Functions (dfns) ([https://dyalog.tv/Dyalog09/?v=OZARVrGQQho | Late [[John Scholes]] was the editor of this workspace. He presented a talk about the contents of the workspace at [[Dyalog user meeting|Dyalog '09]].<ref>[[Dyalog user meeting|Dyalog '09]] C03: Introduction to D-Functions (dfns) ([https://dyalog.tv/Dyalog09/?v=OZARVrGQQho Video 1 (124 mins)], [https://dyalog.tv/Dyalog09/?v=RQNSe9s_3eE Video 2 (67 mins)])</ref> | ||
== Example usage == | |||
As with other workspaces, workspace <source lang=text inline>dfns</source> can be copied into the current workspace using the [[Quad name|system function]] <source lang=apl inline>⎕CY</source>: | |||
<source lang=apl> | |||
⎕CY'dfns' | |||
⍝ Example call: timing an expression using function `cmpx` | |||
1 cmpx '((1e6∘|2∘×)⍣871) 1' | |||
0.0001302490234375 | |||
</source> | |||
Copying in only one or more specific functions is done by adding a left [[argument]]: | |||
<source lang=apl> | |||
'dec' 'hex'⎕CY'dfns' | |||
hex 1234 | |||
04d2 | |||
dec '04d2' | |||
1234 | |||
</source> | |||
It can also be used to import the entire workspace into a utility [[namespace]]: | |||
<source lang=apl> | |||
{(⍎⍵⎕NS⍬).⎕CY ⍵}'dfns' | |||
⍝ Example call: calendar function from the new namespace | |||
dfns.cal 2021 12 | |||
December 2021 | |||
Su Mo Tu We Th Fr Sa | |||
1 2 3 4 | |||
5 6 7 8 9 10 11 | |||
12 13 14 15 16 17 18 | |||
19 20 21 22 23 24 25 | |||
26 27 28 29 30 31 | |||
</source> | |||
== Referrences == | == Referrences == | ||
Line 8: | Line 41: | ||
== External links == | == External links == | ||
* [http://dfns.dyalog.com/ dfns.dyalog.com] – website generated based on the contents of this workspace. | * [http://dfns.dyalog.com/ dfns.dyalog.com] – website generated based on the contents of this workspace. | ||
{{APL development}} | |||
[[Category:Examples]] | [[Category:Examples]] |