Readability: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
m (→Examples) |
||
Line 2: | Line 2: | ||
== Examples == | == Examples == | ||
=== Gilman & Rose === | === Gilman & Rose === | ||
In [[Books#APL_.E2.80.95_An_Interactive_Approach|APL ― | In [[Books#APL_.E2.80.95_An_Interactive_Approach|APL ― An Interactive Approach]], the authors describe the following code, which computes the correlation coefficient, as “almost pornographic”:<!--- For the effect, this is intentionally not syntax coloured ---> | ||
:<code>r←(+/x×y)÷((+/(x←x-(+/x)÷⍴x)*2)×+/(y←y-(+/y)÷⍴y)*2)×.5</code> | :<code>r←(+/x×y)÷((+/(x←x-(+/x)÷⍴x)*2)×+/(y←y-(+/y)÷⍴y)*2)×.5</code> | ||
By splitting the expression intro even a moderate number of pieces, a symmetry is revealed: | By splitting the expression intro even a moderate number of pieces, a symmetry is revealed: | ||
Line 35: | Line 35: | ||
</source> | </source> | ||
A new [[namespace]], with the original value of <source lang=apl inline>ns</source> as name, is created inside <source lang=apl inline>container</source> and the character representation <source lang=apl inline>'#.container.ns'</source> is returned from <source lang=apl inline>⎕NS</source> to <source lang=apl inline>⍎</source> which evaluates the name to a reference, that in turn replaces the previous value of <source lang=apl inline>ns</source>. | A new [[namespace]], with the original value of <source lang=apl inline>ns</source> as name, is created inside <source lang=apl inline>container</source> and the character representation <source lang=apl inline>'#.container.ns'</source> is returned from <source lang=apl inline>⎕NS</source> to <source lang=apl inline>⍎</source> which evaluates the name to a reference, that in turn replaces the previous value of <source lang=apl inline>ns</source>. | ||
== See also == | == See also == | ||
* [[Semantic density]] | * [[Semantic density]] | ||
* [[Function-operator overloading]] | * [[Function-operator overloading]] | ||
{{APL syntax}} | {{APL syntax}} |