Lisp: различия между версиями
Материал из Поле цифровой дидактики
Patarakin (обсуждение | вклад) |
Patarakin (обсуждение | вклад) |
||
(не показаны 3 промежуточные версии этого же участника) | |||
Строка 1: | Строка 1: | ||
{{Карточка языка программирования | {{Карточка языка программирования | ||
|Description=LISP (от англ. LISt Processing language — «язык обработки списков», современное написание: Lisp) — семейство языков программирования, программы и данные в которых представляются в виде списков. | |||
|FieldActivity=Computational Thinker | |FieldActivity=Computational Thinker | ||
|Programming paradigm=Функциональное программирование | |||
|Возрастная категория=17 | |Возрастная категория=17 | ||
|Dimension=2D | |Dimension=2D | ||
Строка 7: | Строка 9: | ||
|Openness=Открытый | |Openness=Открытый | ||
|Address=https://common-lisp.net/ | |Address=https://common-lisp.net/ | ||
|Descendants=Scheme, Clojure, Лого, Julia | |Ancestors=IPL | ||
|Descendants=Scheme, Clojure, Лого, Julia, Snap!, Lua | |||
|ActiveNow=Project is active | |ActiveNow=Project is active | ||
|Remixing=Нет | |||
|launch year=1960 | |||
|Inventor=Маккарти, Hal Abelson | |||
|ForMobileApps=Нет | |||
|Год создания=1958 | |Год создания=1958 | ||
|Ages=25 | |Ages=25 | ||
|Remixing?=No | |Remixing?=No | ||
Строка 18: | Строка 24: | ||
Основная структура данных Лиспа — динамический [[список]] атомов, определяемый рекурсивно как головной объект и присоединённый к нему список-хвост. Поскольку голова списка тоже может быть списком, список является формой представления произвольного дерева (сам список верхнего уровня — корень, входящие в него подсписки второго и следующих уровней — узлы, атомы — листья). | Основная структура данных Лиспа — динамический [[список]] атомов, определяемый рекурсивно как головной объект и присоединённый к нему список-хвост. Поскольку голова списка тоже может быть списком, список является формой представления произвольного дерева (сам список верхнего уровня — корень, входящие в него подсписки второго и следующих уровней — узлы, атомы — листья). | ||
=== Видео пояснение === | |||
https://www.youtube.com/watch?v=-J_xL4IGhJA | |||
{{#widget:YouTube|id=-J_xL4IGhJA|start=5}} | |||
=== Пояснения к синтаксису === | |||
<syntaxhighlight lang="Lisp" inline> | <syntaxhighlight lang="Lisp" inline> | ||
(* (+ 1 2) (- 3 4)) | (* (+ 1 2) (- 3 4)) | ||
</syntaxhighlight> | |||
---- | |||
<syntaxhighlight lang="lisp"> | |||
(defun my-copy-tree (D) | |||
(cond ((null D) nil) | |||
((atom D) D) | |||
(t (cons (my-copy-tree (car D)) | |||
(my-copy-tree (cdr D)))))) | |||
</syntaxhighlight> | </syntaxhighlight> | ||
[[Категория:Язык программирования]] | [[Категория:Язык программирования]] |
Текущая версия на 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))))))