Nial

related topics
{math, number, function}
{system, computer, user}
{line, north, south}
{company, market, business}
{album, band, music}
{rate, high, increase}
{style, bgcolor, rowspan}

Nial (from "Nested Interactive Array Language") is a high-level array programming language developed from about 1981 by Mike Jenkins of Queen's University, Kingston, Ontario, Canada.

Nial combines a functional programming notation for arrays based on Array Theory developed by Trenchard More with structured programming concepts for numeric, character and symbolic data.

It is most often used for prototyping and artificial intelligence.

In 1982, Jenkins formed a company Nial Systems Ltd to market the language and the Q'Nial implementation of Nial. As of 2006, the company website supports an Open Source project for the Q'Nial software with the binary and source available for download under the terms of an Artistic Licence.

Contents

Nial Concepts

Nial uses a generalized and expressive Array Theory in its Version 4, but sacrificed some of the generality of functional model, and modified the Array Theory in the Version 6. Only Version 6 is available now.

Nial defines all its datatypes as nested rectangular arrays. ints, booleans, chars etc are considered as a solitary array or an array containing a single member. Arrays themselves can contain other arrays to form arbitrarily deep structures. Nial also provides Records. They are defined as non-homogenous array structure.

Functions in Nial are called Operations. From Nial manual: "An operation is a functional object that is given an argument array and returns a result array. The process of executing an operation by giving it an argument value is called an operation call or an operation application."

Application of Operations

Nial like other APL derived languages allow the unification of binary operators and operations. Thus the below notations have the same meaning. Note: sum is same as +

Full article ▸

related documents
Tree (graph theory)
Consistency
Coprime
Referential transparency (computer science)
Quotient group
P-complete
Real analysis
Lagrange inversion theorem
Statistical independence
Epimorphism
Hahn–Banach theorem
Associativity
Chomsky hierarchy
Codomain
Dual number
Elementary group theory
Local field
Functional analysis
Examples of groups
Legendre symbol
Mathematical singularity
Zorn's lemma
Axiom of pairing
Arithmetic shift
Extended Backus–Naur Form
Unicity distance
Haar measure
Linear cryptanalysis
Venn diagram
Splitting lemma