A+: Difference between revisions

Jump to navigation Jump to search
5,898 bytes added ,  21:09, 9 December 2019
no edit summary
(No ⎕IO in the documentation)
No edit summary
Line 22: Line 22:


Over the course of the next few years, various extensions were made to the language, culminating in A+ in 1988, with "+" referring to the graphical user interface. While an A+ development group was formally in 1992, presented the very first version of [[K]] that very same year, and by 1994, K became the official successor of A+. In 2001, the source code was made public, and various volunteers took over development until 2008.  From then until 2014 it was maintained by Robert Lefkowitz.
Over the course of the next few years, various extensions were made to the language, culminating in A+ in 1988, with "+" referring to the graphical user interface. While an A+ development group was formally in 1992, presented the very first version of [[K]] that very same year, and by 1994, K became the official successor of A+. In 2001, the source code was made public, and various volunteers took over development until 2008.  From then until 2014 it was maintained by Robert Lefkowitz.
== Primitives ==
{|class=wikitable
! Glyph                                !! Dyadic                                        !! Monadic
|-
| <source lang=apl inline>+</source>  || [[Add]]                                      || [[Conjugate|Identity]]
|-
| <source lang=apl inline>-</source>  || [[Subtract]]                                  || [[Negate]]
|-
| <source lang=apl inline>×</source>  || [[Multiply]]                                  || [[Sign]]
|-
| <source lang=apl inline>÷</source>  || [[Divide]]                                    || [[Reciprocal]]
|-
| <source lang=apl inline>*</source>  || [[Power]]                                    || [[Exponential]]
|-
| <source lang=apl inline>⍟</source>  || [[Log]]                                      || [[Natural log]]
|-
| <source lang=apl inline>|</source>  || [[Residue]]                                  || [[Absolute value]]
|-
| <source lang=apl inline>⊥</source>  || [[Decode]]                                    || Pack
|-
| <source lang=apl inline>⊤</source>  || [[Encode]]                                    || Unpack
|-
| <source lang=apl inline>?</source>  || [[Deal]]                                      || [[Roll]]
|-
| <source lang=apl inline>○</source>  || [[Circle function|Circle]] (sin, cos, ...)    || [[Pi times]]
|-
| <source lang=apl inline>⌹</source>  || [[Solve]]                                    || [[Matrix Inverse]]
|-
| <source lang=apl inline>⌈</source>  || [[Max]]                                      || [[Ceiling]]
|-
| <source lang=apl inline>⌊</source>  || [[Min]]                                      || [[Floor]]
|-
| <source lang=apl inline><</source>  || [[Less than]]                                || [[Enclose]]
|-
| <source lang=apl inline>≤</source>  || [[Less than or Equal to]]                    ||
|-
| <source lang=apl inline>=</source>  || [[Equal to]]                                  ||
|-
| <source lang=apl inline>></source>  || [[Greater than]]                              || [[Disclose]]
|-
| <source lang=apl inline>≥</source>  || [[Greater than or Equal to]]                  ||
|-
| <source lang=apl inline>≠</source>  || [[Not equal to]]                              ||
|-
| <source lang=apl inline>⍋</source>  || [[Bins]]                                      || [[Grade up]]
|-
| <source lang=apl inline>⍒</source>  ||                                              || [[Grade down]]
|-
| <source lang=apl inline>≡</source>  || [[Match]]                                    || [[Depth]]
|-
| <source lang=apl inline>⍳</source>  || [[Find]]                                      || Interval ([[Iota]])
|-
| <source lang=apl inline>∊</source>  || [[Member]]                                    || [[Rake]] (like [[Enlist]])
|-
| <source lang=apl inline>^</source>  || [[And]]                                      || Stop
|-
| <source lang=apl inline>∨</source>  || [[Or]] or Cast                                || [[Type]]
|-
| <source lang=apl inline>⍕</source>  || [[Format]]                                    || [[Default Format]]
|-
| <source lang=apl inline>⍎</source>  || Execute in Context or Protected Execute      || [[Execute]]
|-
| <source lang=apl inline>%</source>  || Value in Context                              || Value (of a symbol)
|-
| <source lang=apl inline>←</source>  || [[Assignment]] or [[Selective Assignment]]    || Result (returns from functions)
|-
| <source lang=apl inline>⊃</source>  || [[Pick]]                                      || [[Raze]]
|-
| <source lang=apl inline>#</source>  || [[Choose]]                                    || [[Count]]
|-
| <source lang=apl inline>[;]</source> ||colspan=2| [[Bracket Indexing]] (varying number of arguments)
|-
| <source lang=apl inline>↑</source>  || [[Take]]                                      || [[Signal]]
|-
| <source lang=apl inline>↓</source>  || [[Drop]]                                      || Print
|-
| <source lang=apl inline>⌽</source>  || [[Rotate]]                                    || [[Reverse]]
|-
| <source lang=apl inline>⍉</source>  || [[Dyadic transpose|Transpose Axes]]          || [[Transpose]]
|-
| <source lang=apl inline>!</source>  || [[Restructure]]                              || [[Item Ravel]]
|-
| <source lang=apl inline>⊂</source>  || Partition (a little like [[Split]])          || Partition Count
|-
| <source lang=apl inline>⍴</source>  || [[Reshape]]                                  || [[Shape]]
|-
| <source lang=apl inline>⊣</source>  || [[Left]]                                      || Null (returns <source lang=apl inline>()</source>)
|-
| <source lang=apl inline>⊢</source>  ||                                              || [[Right]]
|-
| <source lang=apl inline>∪</source>  || Combine Symbols                              || Separate Symbols
|-
| <source lang=apl inline>,</source>  || [[Catenate]]                                  || [[Ravel]]
|-
| <source lang=apl inline>~</source>  || [[Laminate]]                                  || [[Not]]
|-
| <source lang=apl inline>/</source>  || [[Replicate]]                                || [[Reduce]] (+ × ⌈ ⌊ ∧ ∨)
|-
| <source lang=apl inline>\</source>  || [[Expand]]                                    || [[Scan]] (+ × ⌈ ⌊ ∧ ∨)
|-
| <source lang=apl inline>.</source>  || [[Inner Product]] (+.×  ⌈.+  ⌊.+)          ||
|-
| <source lang=apl inline>∘.</source>  || [[Outer Product]] (+ - × ÷ | ⌈ ⌊ < ≤ = ≥ > ≠) ||
|-
| <source lang=apl inline>@</source>  || [[Rank]]                                      ||
|-
| <source lang=apl inline>¨</source>  ||                                              || [[Each]] or Apply
|-
| <source lang=apl inline>⍨</source>  ||                                              || Bitwise
|}
{{APL dialects}}
{{APL dialects}}

Navigation menu