Кіріспе
Дұрыс құрылымдалған бағдарламаларды анықтайтын ережелер жиынтығы. APL бағдарламалау тілі лексикалық емес, символдық ерекшелікке ие: оның бастапқы элементтері сөздермен емес, символдармен белгіленеді. Бұл символдар бастапқыда алгоритмдерді сипаттауға арналған математикалық жазба ретінде ойластырылған. APL бағдарламашылары функциялар мен операторлар туралы әңгімелескенде көбінесе бейресми атаулар береді (мысалы, ×/ үшін "көбейтінді"), бірақ тілмен ұсынылған негізгі функциялар мен операторлар мәтіндік емес символдармен белгіленеді.
The programming language APL is distinctive in being symbolic rather than lexical: its primitives are denoted by symbols, not words. These symbols were originally devised as a mathematical notation to describe algorithms. APL programmers often assign informal names when discussing functions and operators (for example, "product" for ×/) but the core functions and operators provided by the language are denoted by non textual symbols.
Монадалық және диадалық функциялар
Көптеген символдар функцияларды немесе операторларды көрсетеді. Монадалық функция аргумент ретінде өзінің оң жағындағы барлық өрнектің есептелген нәтижесін қабылдайды. (Қашандармен реттелгендей). Диадалық функция тағы бір аргументке ие, ол сол жақтағы алғашқы дерек элементі болып табылады. Көптеген символдар қолданылуына сәйкес түсіндірілетін, монодалық және диадалық функцияларды көрсетеді. Мысалы, ⌊3.2 3-ті береді, бұл аргументтен аспайтын ең үлкен бүтін сан, ал 3⌊2 2-ні береді, бұл екі аргументтің кішісі.
Монадалық функциялар
Атауы (атаулары) Белгісі Unicode код нүктесі Рөл Бірінші B бүтін сандарынан кездейсоқ таңдалған бір бүтін сан Төбе Б-ден үлкен немесе тең ең кіші бүтін сан Ең кіші Б-ден кем немесе тең ең үлкен бүтін сан Пішін, Ро Б-ның әр өлшеміндегі компоненттер саны Жоқ, Тильда Логикалық: 1 – 0, 0 – 1 Абсолюттік мән B-ның шамасы Индекс генераторы, Иота Бірінші B бүтін сандарының векторы Экспонента e-нің B дәрежесі Теріс Б-ның таңбасын өзгерту Б-ның комплекстік қосымшасы (нақты сандар өзгеріссіз қайтарылады) Белгі Б<0 болса –1; B=0 болса 0; B>0 болса 1 Кері шама 1-ді B-ге бөлу Желімдеу, Біріктіру, Ламинаттау B-ді векторға түрлендіру Матрицаның керісі, Монадық Квадратты бөлу Матрица B-ның керісі Пи еселеу π-ға көбейту Логарифм B-ның табиғи логарифмі Кері аудару Соңғы ось бойынша B элементтерін кері аудару Кері аудару Бірінші ось бойынша B элементтерін кері аудару Өсу ретімен бағалау B-ді өсу ретімен орналастыратын индекстері Кеміту ретімен бағалау B-ді кему ретімен орналастыратын индекстері Орындау APL өрнегін орындау Монадық формат B-ның таңбалық өрнегі Монадық транспозиция B-ның осьтерін кері аудару Факториал 1-ден B-ға дейінгі бүтін сандардың көбейтіндісі Тереңдік Ұялау тереңдігі: ұяланбаған массив үшін 1 Кесте B-дан 2 өлшемді массивті – кесте жасау.
Қаріптер
Unicode Basic Көптілді Жарық APL символдарын Әртүрлі техникалық блокта қамтиды, олар көбінесе қазіргі заманғы операциялық жүйелермен бірге орнатылған үлкен Unicode шрифттерінен дәл көрсетіледі. Бұл шрифттерді APL глифтерімен таныс типографтар сирек жасайды. Сондықтан, дәл болғанымен, глифтер APL бағдарламалаушыларына беймәлім немесе бір-бірінен ажырату қиын болуы мүмкін. Кейбір Unicode шрифттері APL-ді жақсы көрсету үшін жасалған: APLX Upright, APL385 Unicode және SimPL. Unicode пайда болуына дейін APL интерпретаторларына APL символдары ASCII символдары жиынтығында сирек қолданылатын орындарға, әдетте жоғарғы 128 кодтық нүктелерге бейімделген шрифттер қоса берілді. Бұл бейімдемелер (және олардың ұлттық түрлері) кейде әр APL жеткізушісінің интерпретаторына тән болды, бұл APL бағдарламаларын веб-сайттарда, мәтіндік файлдарда және нұсқаулықтарда көрсетуді жиі қиындыққа түсірді.
APL2 пернетақта функциясы символға сәйкестендіру
APL қосу/өшіру пернесіне назар аударыңыз – жоғарыдағы оң жақ бұрыштағы, төмендегі перне. Сондай-ақ, пернетақтада шамамен 55 бірегей (жоғарыдағы кестелерде 68 көрсетілген, салыстырмалы символдарды қоса алғанда, бірақ бірнеше символдар монадалық және диадтық кестелерде қайталанады) APL символдары болған (55 APL функциясы (операторлары) IBM-нің 5110 APL анықтамалық нұсқаулығында тізілген). Сондықтан, alt, shift және ctrl пернелерін пайдалану арқылы теориялық тұрғыдан шамамен 59 (перне) * 4 (екі пернені басу арқылы) * 3 (үш пернені басу арқылы, мысалы, ctrl alt del) немесе шамамен 472 түрлі пернелер комбинациясын жасауға болар еді, бұл 512 EBCDIC таңбасының максималды санына (әр перне комбинациясы үшін 2 кодпен 256 таңба) жақындасады. Қайтадан, теория бойынша, осында суреттелген пернетақта 472 түрлі APL символын/функциясын пернетақтадан енгізуге және белсенді пайдалануға мүмкіндік берер еді. Іс жүзінде, алғашқы нұсқалар тек шамамен 55 APL арнайы символын (әріптер, сандар, тыныш белгілер және т.б. кілттерді есептемегенде) пайдаланған. Осылайша, ертедегі APL сол кездегі символдық тілдің әлеуетінің шамамен 11% ғана (55/472) пайдаланылған, бұл пернетақтадағы пернелер санының шектеріне байланысты, қайтадан сандарды, әріптерді, тыныш белгілерді және т.б. есептемегенде. Басқаша айтқанда, пернетақта символдарының пайдалану тиімділігі 100% -ға жақын болды, өйткені EBCDIC тек 256 түрлі таңбаға, ал ASCII тек 128 таңбаға ғана мүмкіндік берді.
Қиындықтарды шешу
АТЖ математикалық есептерді шешуде өте тиімді екенін көрсетті, олардың бірнеше мысалы төменде келтірілген.