Dfns workspace: Difference between revisions

From APL Wiki
Jump to navigation Jump to search
No edit summary
m (Text replacement - "<source" to "<syntaxhighlight")
 
(One intermediate revision by the same user not shown)
Line 4: Line 4:


== Example usage ==
== 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>:
As with other workspaces, workspace <syntaxhighlight lang=text inline>dfns</syntaxhighlight> can be copied into the current workspace using the [[Quad name|system function]] <syntaxhighlight lang=apl inline>⎕CY</syntaxhighlight>:
<source lang=apl>
<syntaxhighlight lang=apl>
       ⎕CY'dfns'
       ⎕CY'dfns'


Line 11: Line 11:
       1 cmpx '((1e6∘|2∘×)⍣871) 1'
       1 cmpx '((1e6∘|2∘×)⍣871) 1'
0.0001302490234375
0.0001302490234375
</source>
</syntaxhighlight>
Copying in only one or more specific functions is done by adding a left [[argument]]:
Copying in only one or more specific functions is done by adding a left [[argument]]:
<source lang=apl>
<syntaxhighlight lang=apl>
       'dec' 'hex'⎕CY'dfns'
       'dec' 'hex'⎕CY'dfns'


Line 20: Line 20:
       dec '04d2'
       dec '04d2'
1234
1234
</source>
</syntaxhighlight>
It can also be used to import the entire workspace into a utility [[namespace]]:
It can also be used to import the entire workspace into a utility [[namespace]]:
<source lang=apl>
<syntaxhighlight lang=apl>
       {(⍎⍵⎕NS⍬).⎕CY ⍵}'dfns'
       {(⍎⍵⎕NS⍬).⎕CY ⍵}'dfns'


Line 34: Line 34:
19 20 21 22 23 24 25
19 20 21 22 23 24 25
26 27 28 29 30 31   
26 27 28 29 30 31   
</source>
</syntaxhighlight>


== Referrences ==
== Referrences ==

Latest revision as of 22:13, 10 September 2022

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 examplesMnemonicsISO 8485:1989ISO/IEC 13751:2001A Dictionary of APLCase studiesDocumentation suitesBooksPapersVideosAPL Quote QuadVector journalTerminology (Chinese, German) ∙ Neural networksError trapping with Dyalog APL (in forms)
Sharing code Backwards compatibilityAPLcartAPLTreeAPL-CationDfns workspaceTatinCider
Implementation ResourcesOpen-sourceMagic functionPerformanceAPL hardware
Developers Timeline of corporationsAPL2000DyalogIBMIPSASTSC