Difference between revisions of "Dfns workspace"

From APL Wiki
Jump to navigation Jump to search
(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 web edit, Mobile edit
 
 
(4 intermediate revisions by 2 users not shown)
Line 1: Line 1:
'''dfns.dws''' is a workspace which is supplied together with [[Dyalog APL]]. It's is a collection of examples of programming in [[dfn|direct functions]], which were written by multiple people since 1990s.
+
'''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 VIDEO 1 (124 mins)], [https://dyalog.tv/Dyalog09/?v=RQNSe9s_3eE VIDEO 2 (67 mins)])</ref>
+
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]]

Latest revision as of 17:20, 11 June 2021

dfns.dws is a workspace which is supplied together with Dyalog APL. Since the introduction of direct functions in 1996, and their inclusion in Dyalog APL version 8.1,[1] 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 '09.[2]

Example usage

As with other workspaces, workspace dfns can be copied into the current workspace using the system function ⎕CY:

      ⎕CY'dfns'

      ⍝ Example call: timing an expression using function `cmpx`
      1 cmpx '((1e6∘|2∘×)⍣871) 1'
0.0001302490234375

Copying in only one or more specific functions is done by adding a left argument:

      'dec' 'hex'⎕CY'dfns'

      hex 1234
 04d2 
      dec '04d2'
1234

It can also be used to import the entire workspace into a utility namespace:

      {(⎕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

Referrences

  1. John Scholes. Direct Functions in Dyalog APL. Dyadic Vendor Forum at APL96.
  2. Dyalog '09 C03: Introduction to D-Functions (dfns) (Video 1 (124 mins), Video 2 (67 mins))

External links

  • dfns.dyalog.com – website generated based on the contents of this workspace.
APL development [edit]
Interface SessionTyping glyphs (on Linux) ∙ FontsText editors
Publications IntroductionsLearning resourcesSimple examplesAdvanced examplesMnemonicsStandardsA Dictionary of APLCase studiesDocumentation suitesBooksPapersVideosPeriodicalsTerminology (German) ∙ Neural networksError trapping with Dyalog APL (in forms)
Sharing code Backwards compatibilityAPLcartAPLTreeAPL-CationDfns workspaceTatin
Vendors APL2000DyalogGNU APL community ∙ IBMIPSASTSC