The Nial Tools


Nial Programming Environment

Q'Nial for Windows is a multi-window environment for Nial program development. It supports multiple interpreter windows that provide different views of the same workspace, and multiple windows for editing Nial definition files and for viewing log files associated with different interpreter windows.

It provides project support by which a project is associated with a directory and its associated definition files. The project file (.npj) records the directory, the definition files in use, the layout of the open windows and other information to restore the project to its previous state.

The main window has menus for file handling, the workspace, interpreter properties, project properties, searching and editing. Pop-up menus are provided for convenient access to frequently used capabilities. There is also a tool bar, and a drop-down list of previous expressions that were executed. The interpreter windows allow editing of previous input lines to create a new input expression.

Console Nial

The console version of Q'Nial supports all the features of the Nial language and programs developed in the Q'Nial Development Environment will execute correctly in any of the Console versions. However, features that depend on operating system specifics such as host and edit commands may produce different results on different systems. The console version supports command line arguments that can control the way certain aspects of the interpreter work.

The Nial Tools for Windows package include a console version that executes from a Windows command prompt. It supports the the Call DLL feature that provides an interface to the Windows DLLs. Several library packages are available to utilize specific DLLs.

Q'Nial for UNIX is a console version of the Nial interpreter.It provides one scrolling window in which expressions are entered and executed. The results are displayed in the window. Nial definition files are edited by invoking an external editor of the user's choice.

Nial Data Engine

not currently supported

The Nial Data Engine is a component subsystem intended for use by application software developed independently from Q'Nial. It is supplied as a dynamic link library (DLL) for Microsoft Windows (currently Win32s compatible) or as library of routines to be linked to an application. The application programming interface (API) consists of a small number of routines that are used to initialize the NIAL working area, and to invoke the embedded evaluator to do computations.

The Data Engine evaluates Nial operations that have been prewritten for the application and stored in either symbolic or binary form. The operations can use data provided over the interface, data computed in an earlier invocation of a fragment retained in the workspace, or data stored externally in files or databases.

The operations can be defined using the full power of the Nial language to provide fast computations on large data sets. For example, the programs can do statistical computations like averages, medians, standard deviations and regression, or linear algebra computations such as equation solving or matrix inverse. In addition, the symbolic computation capabilities of Nial make it possible to embed artificial intelligence capabilities in such operations.

CGINial

The CGI version of Q'Nial is a console version tailored for use with the Common Gateway Interface that permits HTML documents to process forms using a Nial definition file or workspace. It can be used to support on-line analysis or data mining from databases accessible from a server.

On Windows based servers, an association is established between the file extensions .ndf (Nial definition file) and .nws (Nial workspace file) and the CGINial.exe executable. Support libraries are provided that simplify the processing of the CGI parameters, making the database connection using ODBC, and setting up and processing a sequence of generated HTML pages to support the application.

The CGI version of Q'Nial has full access to the computational capabilities of Nial. It can access data in databases and do statistical computations like averages, medians, standard deviations and regression, or linear algebra computations such as equation solving or matrix inverse. In addition, the symbolic computation capabilities of Nial make it possible to embed artificial intelligence capabilities in such operations.

Q'Nial Runtime Version

The Q'Nial Runtime Version is a console version of the interpreter that runs from the command line and invokes an application stored in a previously created workspace or definition file. It has no capability of interactive use and prevents end users from being exposed to the programming environment. It provides a convenient way to package an application written in Nial without exposing the programming details.

Last Modified: Nov 2006