Застосування списків

 

Найбільше впровадження списки знайшли у мові програмування LISP. LISP – це мова обробки списків. Усі дані в LISP представляються у вигляді списків, структура елемента списку включає такі поля: type, data/down next. LISP забезпечує базові функції обробки списків – car, cdr, cons, atom. Також багато вторинних функцій реалізовано в мові як базові – для підвищення їхньої ефективності. Крім чисто спискових операцій у мові забезпечуються операції для виконання арифметичних, логічних операцій, відносини, присвоювання, введення-виведення і т.д. Операція cond забезпечує розгалуження. Сама LISP-програма представляється як список, записаний у скобковій формі. Елементами простого програмного списку є ім'я операції/функції і її параметри. Параметрами можуть бути у свою чергу звертання до функцій, що утворять підсписки.

Як правило, уся програма на LISP являє собою єдине звертання до функції з безліччю вкладених звертань – рекурсивних чи до інших функцій. Тому програмування мовою LISP часто називають "функціональним програмуванням". Системи програмування LISP будуються і як компілятори, і як інтерпретатори. Однак, незалежно від підходу до побудови системи програмування, вона обов'язково містить у собі "зборку сміття". Система програмування LISP автоматично стежить за використанням пам'яті і забезпечує її звільнення.

Інші мови обробки списків, наприклад IPL-V, COMMIT більше орієнтовані на рішення прикладних задач, а не на обробку абстрактних списків, хоча використання списковых структур закладено в основу їх реалізації.