Print

This website provides an implementation of the NARS system based on Wang’s NAL specification, written in C++ and built as a shared library (nars.dll/libnars.so/libnars.dylib - depending on OS). Should be portable to any system having appropriate compiler (supporting a subset of C++11 standard). Also, there is a very simple developer tool, a minimalist IDE, called NarsDevelop. This IDE can be helpful to write, edit and debug some Narsese code for the NARS library. Narsese is the language of the NARS system used for internal representation as well as for external communication.

So far I implemented NAL1-NAL6 and a very limited subset of NAL7. I tried to conform to the original work as much as possible, although there could be still some minor differences or some limitation (the number of variables in a sentence, or the number of terms for some rules which will be extended on the future version).

Mainly for readability and clarity reason, I decided to use a syntax of Narsese very similar to one used in most of Wang’s publications and it is different from the one used in his implementation of the system, the OpenNars. To be able to use mathematical and special symbols, it must be encoded in Unicode. Currently, the library and IDE support UTF-8 encoding. Symbols can be directly typed in NarsDevelop using special shortcuts designed for them.

Here is a short incomplete list of features the NarsDevelop IDE currently supports: