Кіріспе

Бағдарламалау тілі
Ирандағы ауыл

Ниал ("Nested Interactive Array Language") – 1981 жылдан бастап Канаданың Онтарио штатындағы Квинс университетінің Майк Дженкинс әзірлеген жоғары деңгейдегі массивтік бағдарламалау тілі. Дженкинс Дженкинс-Трауб алгоритмін бірлесіп жасаған. Ниал Тренчард Мор жасаған массив теориясына негізделген массивтер үшін функционалдық бағдарламалау нотациясын, сандық, таңбалық және символдық деректер үшін құрылымдық бағдарламалау ұғымдарымен үйлестіреді. Көбінесе прототиптеу және жасанды интеллект салаларында қолданылады.

Қ'Ниал

1982 жылы Дженкинс Nial тілі мен Nial-дың Q'Nial нұсқасын таратпақ үшін Nial Systems Ltd компаниясын құрды. 2014 жылдан бастап компанияның веб-сайты Q'Nial бағдарламалық қамтамасы үшін ашық кодты жобаны қолдайды, оның екілік және бастапқы коды жүктеуге қолжетімді. Лицензия Artistic License 1.0 негізінде жасалған, айырмашылықтары тек кіріспеде, «Авторлық құқық иесі» анықтамасында (бұл «жинақтағы авторлық құқықта немесе авторлық құқықтарда аталған кез келген адам» дегеннен «NIAL Systems Limited» деп өзгертілді) және «кім» деген сөздің бір рет қолданылуында (ол «кімге» деп өзгертілді).

Ниалдық ұғымдар

Ниал 4-ші нұсқасында жалпыланған және көрнекті массив теориясын пайдаланады, бірақ функционалдық модельдің жалпылығынан бас тартып, 6-шы нұсқасында массив теориясын өзгертті. Қазір тек 6-шы нұсқасы ғана қолжетімді. Ниал өзінің барлық дерек типтерін ішкі тіркесілген тікбұрышты массивтер ретінде анықтайды. int, boolean, char сияқтылар жеке массив немесе бір ғана элементі бар массив ретінде қарастырылады. Массивтер өздері басқа массивтерді қамти алады, осылайша кез келген тереңдіктегі құрылымдарды құруға болады. Ниал сондай-ақ жазбаларды (Record) ұсынады. Олар біртекті емес массивтік құрылым ретінде анықталған. Ниалдегі функциялар Операциялар деп аталады. Ниал нұсқаулығынан: "Операция – аргумент массиві берілгенде нәтиже массивін қайтаратын функционалдық объект. Операцияны аргумент мәнімен орындау процесі операцияны шақыру немесе операцияны қолдану деп аталады."

Атлас

Ниалдағы атлас – құрамында бірнеше операциядан тұратын операция. Атлас қандай да бір мәнге қолданылғанда, атластың әрбір элементе осы мәнге реті келіп қолданылады, нәтижесінде соңғы нәтиже шығады. Бұл, айнымалыларды қолданбайтын (нүктелік емес) стильде анықтама беруге мүмкіндік береді. Трансформаторлар да осыны пайдаланады. Мысалы, төмендегі "ішкі [+,*]" мысалында "[+,*]" тізімі атлас болып табылады.