| Реферат на тему:
Лісп – мова функціонального програмування
1. Місце Ліспу у класифікації мов програмування
За однією з класифікацій мови програмування діляться на процедурні
, які також називаються операторними
або імперативними
, та декларативні
мови. Більшість мов, які сьогодні використовуються – Бейсік, Фортран, Паскаль, Сі, відносяться до процедурних мов. До класу декларативних мов відносяться функціональні
або апплікативні – Лісп, Лого, та логічні
мови, відомим представником якого є Пролог. На практиці мови програмування не є чисто процедурними, функціональними чи логічними. На процедурній мові можна написати функціональну програму і навпаки.
Процедурна програма
складається з послідовності операторів та виразів, які керують її виконанням. Типичними операторами є оператори присвоєння, ввода-виводу, керування та циклу.
Функціональна програма
складається з сукупності визначених функцій. Функції, в свою чергу, можуть викликати інші функції. Обчислення починається з виклику деякої функції. Чисте функціональне програмування не має присвоєнь та засобів передачі керування. Повторні обчислення здійснюються за допомогою рекурсії, яка є основним засобом функціонального програмування.
Далі в якості інтерпретатора мови Лісп будемо використовувати muLisp. muLisp працює на комп’ютері з операційною системою MS-DOS або PC-DOS. Програма mulisp.com є інтерпретатором мови програмування muLisp, яка має потужні функціональні засоби для обробки структур даних, створених користувачем. muLisp є символьною мовою програмування, яка призначена для обробки списків. Слово Lisp виникло з перших літер фрази Lis
t P
rocessing.
Робота з Ліспом нагадує роботу з карманним калькулятором: користувач вводить вираз (він обов’язково повинен закінчуватися символом <RETURN> та мати збалансовану кількість дужок), який читає машина, потім обчислює (інтерпретує), та видає результат. Цей процес введення-читання-обчислення-видачі
результату буде відбуватися в циклі доти, доки користувач не введе команду (SYSTEM), яка завершує роботу з muLisp і передає керування операційній системі.
2. Особливості мови програмування Лісп
Забиваем Сайты В ТОП КУВАЛДОЙ - Уникальные возможности от SeoHammer
Каждая ссылка анализируется по трем пакетам оценки: SEO, Трафик и SMM.
SeoHammer делает продвижение сайта прозрачным и простым занятием.
Ссылки, вечные ссылки, статьи, упоминания, пресс-релизы - используйте по максимуму потенциал SeoHammer для продвижения вашего сайта.
Что умеет делать SeoHammer
— Продвижение в один клик, интеллектуальный подбор запросов, покупка самых лучших ссылок с высокой степенью качества у лучших бирж ссылок.
— Регулярная проверка качества ссылок по более чем 100 показателям и ежедневный пересчет показателей качества проекта.
— Все известные форматы ссылок: арендные ссылки, вечные ссылки, публикации (упоминания, мнения, отзывы, статьи, пресс-релизы).
— SeoHammer покажет, где рост или падение, а также запросы, на которые нужно обратить внимание.
SeoHammer еще предоставляет технологию Буст, она ускоряет продвижение в десятки раз,
а первые результаты появляются уже в течение первых 7 дней.
Зарегистрироваться и Начать продвижение
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). Макрос, який визначається користувачем, може характеризуватися або часом компіляції, або часом виконання.
9) Відладка програм полегшується використанням резидентного дисплейно-орієнтованого редактора Ліспу та пакету відладки, який включає в себе засоби трасування, преривання та сбору статистики.
10) Послідовний та випадковий методи доступу, послідовний файл вводу-виводу повністю підтримуються системою. Окрім того, можуть бути створені файли образу пам’яті для збереження середовища Ліспу, з метою можливості його перезагрузки у довільний час.
11) Відносно маленький розмір Ліспу дає можливість залишити ділянку пам’яті ЕОМ вільною, достатньою для структур даних користувача. Мінімально система займе не меньш ніж 128 К пам’яті, хоча Лісп може використовувати і до 512 К.
12) Швидкість виконання програм досягається завдяки використанню такої технології, як малі зв’язки змінних, адресні структури даних та замкнені простори вказівників.
13) Визначення функцій автоматично переводяться на "чистий" код або D-код. Процес зворотнього переводу відбувається також автоматично після повернення визначення.
Сервис онлайн-записи на собственном Telegram-боте
Попробуйте сервис онлайн-записи VisitTime на основе вашего собственного Telegram-бота:
— Разгрузит мастера, специалиста или компанию;
— Позволит гибко управлять расписанием и загрузкой;
— Разошлет оповещения о новых услугах или акциях;
— Позволит принять оплату на карту/кошелек/счет;
— Позволит записываться на групповые и персональные посещения;
— Поможет получить от клиента отзывы о визите к вам;
— Включает в себя сервис чаевых.
Для новых пользователей первый месяц бесплатно.
Зарегистрироваться в сервисе
14) Можливості обробки тексту та мови були збільшені шляхом додання ефективних функцій рядків.
15) Написання звичайних шаблонів полегшено за допомогою таблиці сканера Ліспу.
16) Функція сортування SORT використовує надійне, стабільне сортування списків, яке вимагає кількість часу пропорційно nlogn, де n - довжина списку, що сортується.
17) muLISP-символи можуть бути зв’язані, а область пам’яті може бути розподілена для підпрограм на машинній мові.
18) muLISP може бути тимчасово призупинено для того, щоб стартувати який-небудь інший процес, наприклад, редактор текстів, або навіть іншу версію muLISP. Коли цей процес припинає своє виконання, muLISP відновлює роботу.
|