Welcome to NARS2000


The first NARS (Nested Arrays Research System) was designed and implemented in the early 1980s as a testbed for new ideas in APL, principally with nested arrays. A quarter of a century later, it's time to try again.

The goal of this effort, as with the last one, is to foster new ideas about the language and its implementation.

Language ideas include new functions, operators, and datatypes. To aid in getting your ideas into an implementation, there will be a mechanism for telling NARS that a user-defined APL function represents a new primitive function, operator, or datatype. In order to experiment with your ideas for new extensions, all you need to know is how to write APL programs.

Implementation ideas include algorithms to enhance code space (smaller executable), time space (faster execution times), or expressibility (clearer and more understandable code). A goal of the existing implementation is to be open and easy for others to change so that new ideas may be inserted smoothly.

Moreover, this project is made available as Free Software so, among other things, any developer may pick it up and add new features, and any end user may use it free of charge.

Language Features

Current Language Features

Wish List of Language Features


Current Datatypes

Wish List of Datatypes

Miscellaneous Features

Current Miscellaneous Features

Wish List of Miscellaneous Features


At the moment, NARS2000 is available as a 32- or 64-bit Windows-based executable only, designed to run on Windows 7 and above.

However, thanks to a Translation Layer program such as Wine, NARS2000 can run on any operating system that can run Wine (which includes virtually every Linux-based system and Mac OS, among others). Note that Wine is not an emulator, but a layer between the Windows executable and the non-Windows operating system. In fact, the name Wine is a recursive acronym for Wine Is Not an Emulator.

For more details on running NARS2000 on your operating system, see Platforms in the Wiki.


As with many open source software projects, the documentation for this project is managed by a Wiki. To see the current effort, goto the NARS2000 Wiki. For information about other APL interpeters and APL in general, see the APL Wiki where, among other things, you'll find an excellent APL tutorial.

What It Isn't

Get The Code

For Copyright and Licensing terms of the code, see the License Agreement. The code is available in several forms:

If You Want To Help

This project was designed to be extensible by both the end user (via APL magic functions) as well as by system developers. This is your chance to add a valuable feature to NARS2000.

The source code is written in a combination of APL (as internal magic functions) and C, so knowledge of either or both languages is all you need.

Also, don't forget that documentation is an area in need of improvement, so if your skills are in writing, your help is needed.

The best way to help is to find an area of the project in which you'd like to contribute, write up a short description of what you want to do and submit it to the project via the Discussion Groups.

When you contribute content to the project, your name will be placed in the List of Contributors. First time contributors will also need to assign copyright of what you contribute to the project, in particular to the principal author, Bob Smith. This is by no means an attempt to take credit for what you have contributed — instead, it provides a single point of reference from a legal standpoint in case the program's copyright (actually copyleft) needs to be enforced. See the "assign copyright" link above for why this is necessary.

Discussion Forum

To facilitate discussion about this project, there is a forum available for your use. This forum is for discussion relative to this project, and is not meant to supplant other forums such as the comp.lang.apl newsgroup.


The pages on this site were designed to be displayed with an attractive APL font such as SImPL (Unicode), APL385 Unicode, or any of the other Unicode APL fonts (assuming they have all of the extra APL glyphs used on this site). Moreover, your choice of browser can materially affect how the APL characters appear. Either Firefox or Internet Explorer (Version 7 or later, only) are good choices.


Rather than gather email addresses, maintain a mailing list, deal with privacy issues, etc., I'd prefer that if you are interested in being notified when new features are documented, that you sign up with a (free) service that does this such as the one linked to at the bottom of this page. To be notified when a new version is released, goto the link at the bottom of the download page.


This project was started by and is © 2006-2024, Sudley Place Software. Here's a link to some of my other APL-related pages.

Valid XHTML 1.0! Valid CSS!
© 2006-2024
Get GPL v3!   Get Firefox!   Get Thunderbird!   Get LibreOffice!  
Be notified of
page updates
it's private
powered by
Comments or suggestions? Send them to .