Lisp: различия между версиями

Материал из Поле цифровой дидактики
 
Строка 2: Строка 2:
|Description=LISP (от англ. LISt Processing language — «язык обработки списков», современное написание: Lisp) — семейство языков программирования, программы и данные в которых представляются в виде списков.
|Description=LISP (от англ. LISt Processing language — «язык обработки списков», современное написание: Lisp) — семейство языков программирования, программы и данные в которых представляются в виде списков.
|FieldActivity=Computational Thinker
|FieldActivity=Computational Thinker
|Programming paradigm=Функциональное программирование
|Возрастная категория=17
|Возрастная категория=17
|Dimension=2D
|Dimension=2D

Текущая версия на 10:38, 17 февраля 2023


Краткое описание языка LISP (от англ. LISt Processing language — «язык обработки списков», современное написание: Lisp) — семейство языков программирования, программы и данные в которых представляются в виде списков.
Компетенции в каких сферах формирует Computational Thinker
Парадигмы программирования Функциональное программирование
Возрастная категория 17
Назначение языка (Общее / Учебное) Язык общего назначения
Visual_Text_Blocks Текст
Измерение (2D/3D/Tangible) 2D
Область знаний
Открытость продукта Открытый
Address https://common-lisp.net/
Предки (Ancestors) IPL
Потомки (Descendants) Scheme, Clojure, Лого, Julia, Snap!, Lua
Активность в данный момент Project is active
Доступны ремиксы? Нет
Год создания 1960
Создатели Маккарти, Hal Abelson
Поясняющее видео
Используется для создания мобильных приложений? Нет


Lisp упоминается в свойствах следующих страниц
Structure and Interpretation of Computer Programs, Искусственный интеллект, Программирование на языках высокого уровня, Рекурсия, Функциональное программирование


Создавался как язык для работы в области искусственного интеллекта

Основная структура данных Лиспа — динамический список атомов, определяемый рекурсивно как головной объект и присоединённый к нему список-хвост. Поскольку голова списка тоже может быть списком, список является формой представления произвольного дерева (сам список верхнего уровня — корень, входящие в него подсписки второго и следующих уровней — узлы, атомы — листья).

Видео пояснение

https://www.youtube.com/watch?v=-J_xL4IGhJA


Пояснения к синтаксису

(* (+ 1 2) (- 3 4))


(defun my-copy-tree (D)
  (cond ((null D) nil)
        ((atom D) D)
        (t (cons (my-copy-tree (car D))
                 (my-copy-tree (cdr D))))))