Зворотний зв'язок

Лісп – мова функціонального програмування

1. Місце Ліспу у класифікації мов програмування

За однією з класифікацій мови програмування діляться на процедурні, які також називаються операторними або імперативними, та декларативні мови. Більшість мов, які сьогодні використовуються – Бейсік, Фортран, Паскаль, Сі, відносяться до процедурних мов. До класу декларативних мов відносяться функціональні або апплікативні – Лісп, Лого, та логічні мови, відомим представником якого є Пролог. На практиці мови програмування не є чисто процедурними, функціональними чи логічними. На процедурній мові можна написати функціональну програму і навпаки.

Процедурна програма складається з послідовності операторів та виразів, які керують її виконанням. Типичними операторами є оператори присвоєння, ввода-виводу, керування та циклу.

Функціональна програма складається з сукупності визначених функцій. Функції, в свою чергу, можуть викликати інші функції. Обчислення починається з виклику деякої функції. Чисте функціональне програмування не має присвоєнь та засобів передачі керування. Повторні обчислення здійснюються за допомогою рекурсії, яка є основним засобом функціонального програмування.

Далі в якості інтерпретатора мови Лісп будемо використовувати muLisp. muLisp працює на комп’ютері з операційною системою MS-DOS або PC-DOS. Програма mulisp.com є інтерпретатором мови програмування muLisp, яка має потужні функціональні засоби для обробки структур даних, створених користувачем. muLisp є символьною мовою програмування, яка призначена для обробки списків. Слово Lisp виникло з перших літер фрази List Processing.

Робота з Ліспом нагадує роботу з карманним калькулятором: користувач вводить вираз (він обов’язково повинен закінчуватися символом та мати збалансовану кількість дужок), який читає машина, потім обчислює (інтерпретує), та видає результат. Цей процес введення-читання-обчислення-видачі результату буде відбуватися в циклі доти, доки користувач не введе команду (SYSTEM), яка завершує роботу з muLisp і передає керування операційній системі.

2. Особливості мови програмування Лісп

1) Більш ніж 260 функцій мови Лісп визначено на машинній мові для більшої ефективності виконання програм. Ці функції забезпечують побудову структур даних, включаючи повний набір перемикачів, конструкторів, розпознавачів та порівнянь.

2) Цілі числа нескінченно великої точності та раціональна арифметика, віизначені у кожній проектованій основній системі числення від 2 до 36, та підтримка повної множини числових функцій.

3) Колектор, який збирає мусор, здійснює автоматичне динамічне керування пам’ятю в усіх областях даних. Час роботи колектора як правило, менша за секунду.

4) Динамічний перерозподіл границь областей даних відбувається автоматично при найбільш ефективному використанні усіх доступних ресурсів пам’яті ( максимально до 512 К ).

5) До конструкцій контролю відносяться функції COND, LOOP, IF, PROGN та RETURN. Ці конструкції дозволяють створювати програми у простому та елегантному Лісп - стилі.

6) Функції CATCH, THROW та UNWIND-PROTECT забезпечують структурний загальний механізм выходів, який значно спрощує контроль помилок та виняткових ситуацій у програмах користувача.

7) Повна множина первинно визначених функцій відображення та предикатів відображення може використовуватися для тестування елементів списків.

8) Функції Ліспу можуть бути визначені або як обчислювані (EVAL) або необчислювані (NORMAL), або як розгорнуті (SPRED) та нерозгорнуті (NOSPRED). Макрос, який визначається користувачем, може характеризуватися або часом компіляції, або часом виконання.


Реферати!

У нас ви зможете знайти і ознайомитися з рефератами на будь-яку тему.







Не знайшли потрібний реферат ?

Замовте написання реферату на потрібну Вам тему

Замовити реферат