NARS2000: Difference between revisions

From APL Wiki
Jump to navigation Jump to search
Miraheze>Adám Brudzewsky
No edit summary
m (Links to complex numbers)
(8 intermediate revisions by 4 users not shown)
Line 3: Line 3:
| index origin            = 0 or 1
| index origin            = 0 or 1
| function styles          = [[tradfn]], [[dfn]], [[tacit]]
| function styles          = [[tradfn]], [[dfn]], [[tacit]]
| numeric types            = complex floats, quaternion, octonion, [[rational]], ball arithmetic, variable precision float, infinite precision
| numeric types            = [[complex]] floats, quaternion, octonion, [[rational]], ball arithmetic, variable precision float, infinite precision
| unicode support          = partial (UCS-2)
| unicode support          = partial (UCS-2)
| released                = 2006
| released                = 2006
| developer                = [[Sudley Place Software]]
| developer                = [[Sudley Place Software]]
| latest release version  = 0.5 / 2019
| latest release version  = 0.5 / 2019
| implementation languages = [https://en.wikipedia.org/wiki/C_(programming_language) C], APL
| implementation languages = [[wikipedia:C (programming language)|C]], APL
| source                  = [https://sourceforge.net/p/nars2000/code/HEAD/tree/branches/bsmith/NewTypes/ SourceForge]
| platforms                = x86, x86_64
| platforms                = x86, x86_64
| operating systems        = Windows, Linux (via Wine), macOS (via Wine)
| operating systems        = Windows, Linux (via Wine), macOS (via Wine)
| license                  = [https://en.wikipedia.org/wiki/GNU_General_Public_License GNU GPL]
| license                  = [[wikipedia:GNU General Public License|GNU GPL]]
| website                  = [http://www.nars2000.org/ nars2000.org]
| website                  = [http://www.nars2000.org/ nars2000.org]
| download                = [http://www.nars2000.org/download/ nars2000.org/download]
| download                = [http://www.nars2000.org/download/ nars2000.org/download]
Line 20: Line 21:
}}
}}


'''NARS2000''' is an open-source APL interpreter written by [[Bob Smith]], a prominent APL developer and implementer from [[STSC]] in the 1970s and 1980s. NARS2000 contains advanced features and new [[datatypes|Simple scalars]] and runs natively on Microsoft Windows, and other platforms under Wine. It is the spiritual successor of the first "NARS" (Nested Arrays Research System) which was designed and implemented in the early 1980s as a testbed for new ideas in APL, principally with nested arrays.
'''NARS2000''' is an open-source APL interpreter written by [[Bob Smith]], a prominent APL developer and implementer from [[STSC]] in the 1970s and 1980s. NARS2000 contains advanced features and new [[datatype]]s and runs natively on Microsoft Windows, and other platforms under Wine. It is the spiritual successor of the first "NARS" (Nested Arrays Research System) which was designed and implemented in the early 1980s as a testbed for new ideas in APL, principally with nested arrays.


Language ideas include new functions, operators, datatypes, and many other extensiosn. The  project is free open source software.
Language ideas include new functions, operators, datatypes, and many other extensiosn. The  project is free open source software.
== Primitives ==
The following list is incomplete.
=== Functions ===
{| class=wikitable
! Glyph                              !! Monadic            !! Dyadic
|-
| <source lang=apl inline>⍸</source>  || [[Indices]]        || Array Lookup (high-rank [[Index-Of]])
|-
| <source lang=apl inline><</source>  || [[Condense]]        || [[Less Than]]
|-
| <source lang=apl inline>></source>  || [[Dilate]]          || [[Greater Than]]
|-
| <source lang=apl inline>\</source>  ||                    || [[Expand]]
|-
| <source lang=apl inline>⍷</source>  ||                    || [[Find]]
|-
| <source lang=apl inline>⍳</source>  || [[Index Generator]] || [[Index Of]]
|-
| <source lang=apl inline>⌹</source>  || [[Matrix Inverse]]  || [[Matrix Divide]]
|-
| <source lang=apl inline>≢</source>  || [[Tally]]          || [[Not Match|Mismatch]]
|-
| <source lang=apl inline>⊂</source>  ||                    || [[Partitioned Enclose]]
|-
| <source lang=apl inline>π</source>  || [[Factors]]        || [[Primes]]
|-
| <source lang=apl inline>⍴</source>  || [[Shape]]          || [[Reshape]]
|-
| <source lang=apl inline>√</source>  || [[Square Root]]    || [[Root]]
|-
| <source lang=apl inline>..</source> ||                    || [[Sequence]]
|-
| <source lang=apl inline>⊆</source>  ||                    || [[Subset]]
|-
| <source lang=apl inline>⊇</source>  ||                    || [[Superset]]
|-
| <source lang=apl inline>§</source>  ||                    || [[Symmetric Difference]]
|-
| <source lang=apl inline>~</source>  || [[Not]]            || [[Without]]
|}
=== Operators ===
One feature of NARS2000 is its heavy use of experimental primitive operators. In the table below, operators which are unknown or obscure in the APL world are linked to the NARS2000 wiki rather than the APL wiki.
{| class=wikitable
! Glyph                                !! Valence !! Monadic call      !! Dyadic call
|-
| <source lang=apl inline>⍣</source>  || Dyadic  ||colspan=2| [[Power operator|Power]]
|-
| <source lang=apl inline>⍨</source>  || Monadic ||colspan=2| [[Commute]]
|-
| <source lang=apl inline>⍥</source>  || Dyadic  ||colspan=2| Composition ([[Over]])
|-
| <source lang=apl inline>∘</source>  || Dyadic  ||colspan=2| [[Compose]]
|-
| <source lang=apl inline>⍤</source>  || Dyadic  ||colspan=2| [[Rank operator|Rank]]
|-
| <source lang=apl inline>‼</source>  || Monadic || [http://wiki.nars2000.org/index.php/Combinatorial Combinatorial] ||
|-
| <source lang=apl inline>⍡</source>  || Dyadic  ||                  || [[Convolution]]
|-
| <source lang=apl inline>.</source>  || Dyadic  || [[Inner Product]] || [[Alternant|Determinant]]
|-
| <source lang=apl inline>∂</source>  || Monadic ||colspan=2| Numerical [http://wiki.nars2000.org/index.php/Derivative Derivative]
|-
| <source lang=apl inline>⌻</source>  || Monadic ||colspan=2| [http://wiki.nars2000.org/index.php/Matrix Matrix]
|-
| <source lang=apl inline>⍦</source>  || Monadic ||colspan=2| [http://wiki.nars2000.org/index.php/Multisets Multisets]
|-
| <source lang=apl inline>⊙</source>  || Monadic ||colspan=2| [http://wiki.nars2000.org/index.php/Null Null]
|-
| <source lang=apl inline>a∘/</source> || Special ||                  || [[Mask]]
|-
| <source lang=apl inline>a∘⌿</source> || Special ||                  || [[Mask]] First
|-
| <source lang=apl inline>a∘\</source> || Special ||                  || [[Mesh]]
|-
| <source lang=apl inline>a∘⍀</source> || Special ||                  || [[Mesh]] First
|-
| <source lang=apl inline>⍠</source>  || Dyadic  ||colspan=2| [[Variant]]
|}


== External links ==
== External links ==
Line 29: Line 116:
* [http://wiki.nars2000.org/ Wiki]
* [http://wiki.nars2000.org/ Wiki]


{{APL programming language}}
{{APL dialects}}

Revision as of 15:32, 24 January 2020


NARS2000 is an open-source APL interpreter written by Bob Smith, a prominent APL developer and implementer from STSC in the 1970s and 1980s. NARS2000 contains advanced features and new datatypes and runs natively on Microsoft Windows, and other platforms under Wine. It is the spiritual successor of the first "NARS" (Nested Arrays Research System) which was designed and implemented in the early 1980s as a testbed for new ideas in APL, principally with nested arrays.

Language ideas include new functions, operators, datatypes, and many other extensiosn. The project is free open source software.

Primitives

The following list is incomplete.

Functions

Glyph Monadic Dyadic
Indices Array Lookup (high-rank Index-Of)
< Condense Less Than
> Dilate Greater Than
\ Expand
Find
Index Generator Index Of
Matrix Inverse Matrix Divide
Tally Mismatch
Partitioned Enclose
π Factors Primes
Shape Reshape
Square Root Root
.. Sequence
Subset
Superset
§ Symmetric Difference
~ Not Without

Operators

One feature of NARS2000 is its heavy use of experimental primitive operators. In the table below, operators which are unknown or obscure in the APL world are linked to the NARS2000 wiki rather than the APL wiki.

Glyph Valence Monadic call Dyadic call
Dyadic Power
Monadic Commute
Dyadic Composition (Over)
Dyadic Compose
Dyadic Rank
Monadic Combinatorial
Dyadic Convolution
. Dyadic Inner Product Determinant
Monadic Numerical Derivative
Monadic Matrix
Monadic Multisets
Monadic Null
a∘/ Special Mask
a∘⌿ Special Mask First
a∘\ Special Mesh
a∘⍀ Special Mesh First
Dyadic Variant

External links


APL dialects [edit]
Maintained APL+WinAPL2APL64APL\ivApletteAprilCo-dfnsDyalog APLDyalog APL Visiondzaima/APLGNU APLKapNARS2000Pometo
Historical A Programming LanguageA+ (A) ∙ APL#APL2CAPL\360APL/700APL\1130APL\3000APL.68000APL*PLUSAPL.jlAPL.SVAPLXExtended Dyalog APLIverson notationIVSYS/7090NARSngn/aplopenAPLOperators and FunctionsPATRowanSAXSHARP APLRationalized APLVisualAPL (APLNext) ∙ VS APLYork APL
Derivatives AHPLBQNCoSyELIGleeIIvyJJellyK (Goal, Klong, Q) ∙ KamilaLispLang5LilNialRADUiua
Overviews Comparison of APL dialectsTimeline of array languagesTimeline of influential array languagesFamily tree of array languages