Лисп: различия между версиями
Ramir (обсуждение | вклад) Нет описания правки |
Ramir (обсуждение | вклад) мНет описания правки |
||
Строка 1: | Строка 1: | ||
__NOTOC__ |
__NOTOC__ |
||
__NOEDITSECTION__ |
__NOEDITSECTION__ |
||
⚫ | |||
⚫ | |||
⚫ | <span style="margin-left:-0.1em"><big>Лисп</big></span> — старейший из ныне живых языков программирования,<ref>[[w:Ассемблер|Ассемблер]] язык машины, а не программирования, а [[w:Фортран|Фортран]] — не вполне жив.</ref> а по высоте абстракции и по выразительности превосходит все прочие. Это первый язык [[:Категория:Функциональное программирование|функционального программирования]], но любые парадигмы, философии, привычки, условия среды́, — поддерживает гибко и эффективно. |
||
⚫ | |||
⚫ | <span style="margin-left:-0.1em"><big>Лисп</big></span> |
||
Код Лиспа представлен…<br style="clear:both" /> |
|||
<div style="margin:0 auto 0 |
<div style="margin:0 auto 0 11em;"><source style="display:block;clear:both;width:30em;margin:0 auto;" lang="lisp"> |
||
(через |
(через |
||
(избыточное (на первый взгляд)) |
(избыточное (на первый взгляд)) |
||
нагромождение (круглых) скобок)</source></div> |
нагромождение (круглых) скобок)</source></div> |
||
<span style="float:right;margin-right:-0. |
<span style="float:right;margin-right:-0.05em">…[[w:Связный список|односвязным списком]].<ref>В основных диалектах у символов статическая область видимости, и древо символов со введением связи «обозначения» становится [[:w:en:Series-parallel partial order|последовательно-параллельным частичным порядком]], для начала.</ref></span><br style="clear:both" /> |
||
<span style="margin-left:-0. |
<span style="margin-left:-0.1em">Элементарные</span> части программы: числа, [[Электронный текст|слова]], указатели, имена типов, операторы, — это возможные значения ''символа'', обозначающего их в дереве кода. Символьное представление можно определить для любой ''формы'' — корректно вычислимого выражения с любыми параметрами, значениями и воздействиями на среду. Сплошная типизация «статических языков» в Лиспе заменяется декларацией типов, — необязательной, но допустимой на любом шаге создания и исполнения программы, — равно, как и включение произвольного кода. |
||
Познание вычисления как такового — стезя академического курса и лет практики, а посвящение в Лисп также требует |
Познание вычисления как такового — стезя академического курса и лет практики, а посвящение в Лисп также требует отразить привычные ограничения прочих — «непрограммируемых» — языков программирования. Задача гигантская, однако, Лиспу досталось внимание величайших компьютерных гениев, и нам остается взобраться на плечи гигантов, уместно освещая избранную [[Лисп/Литература|литературу о Лиспе]]. Ясно также, что кратчайшие пути обучения расплетаются по локальным оптимумам для разных вычислительных задач. Перед вами — не просто [[:w:Викиучебник|учебник в свободном доступе]], а домашняя страница <big>открытой школы</big>, где каждый может быть и слушателем, и автором.<ref>Изучите [[Справка|справку]] по сайту Викиучебник, освойтесь с [[вики]]-средой, общайтесь с читателями и соавторами (<code>[[Обсуждение:Лисп]]</code>, <code>[[Обсуждение:Лисп/Типы данных]]</code> и так далее.)</ref></div> |
||
⚫ | |||
<div style="max-width:52em;margin:2em auto 0 4%;padding-left:0.1em;"> |
<div style="max-width:52em;margin:1.2em auto 0 4%;padding-left:0.1em;"> |
||
==Содержание== |
==Содержание== |
||
<small>''([[(несуществующая страница)|Красным]] — даже не начатое.)''</small> |
<small>''([[(несуществующая страница)|Красным]] — даже не начатое.)''</small> |
Версия от 03:28, 20 мая 2011
Лисп — старейший из ныне живых языков программирования,[1] а по высоте абстракции и по выразительности превосходит все прочие. Это первый язык функционального программирования, но любые парадигмы, философии, привычки, условия среды́, — поддерживает гибко и эффективно.
Код Лиспа представлен…
(через
(избыточное (на первый взгляд))
нагромождение (круглых) скобок)
…односвязным списком.[2]
Элементарные части программы: числа, слова, указатели, имена типов, операторы, — это возможные значения символа, обозначающего их в дереве кода. Символьное представление можно определить для любой формы — корректно вычислимого выражения с любыми параметрами, значениями и воздействиями на среду. Сплошная типизация «статических языков» в Лиспе заменяется декларацией типов, — необязательной, но допустимой на любом шаге создания и исполнения программы, — равно, как и включение произвольного кода.
Содержание
(Красным — даже не начатое.)
- Историософия: происхождение и философские основы Лиспа, его силы и слабости
- Рабочая среда: диалект и интеграция разработки
- Литература: о Лиспе или даже про Лисп
- «Строение и толкование компьютерных программ» — Гарольд Абельсон и Джеральд Сассман, MIT Press, 1984
- Книга вынесена в свободный оборот, сделан перевод на русский. В сети также авторские видеолекции.
- Хювенен Э., Сеппянен И. Мир Лиспа. В 2-х т. - М.: Мир, 1990
- Русский перевод книги «Practical Common Lisp» — Peter Seibel, 2005
- Введение в язык Scheme для школьников — здесь, из физтеховского «Потенциала».
- На английском:
- The Anatomy of Lisp — John Allen, 1978
- On Lisp — Paul Graham, 1993
- Common Lisp HyperSpec, в мозг!
- «Строение и толкование компьютерных программ» — Гарольд Абельсон и Джеральд Сассман, MIT Press, 1984
- Синтаксис
- Типы данных
- Функции и функциональный стиль
- Математика
- Оптимизация
- ↑ Ассемблер язык машины, а не программирования, а Фортран — не вполне жив.
- ↑ В основных диалектах у символов статическая область видимости, и древо символов со введением связи «обозначения» становится последовательно-параллельным частичным порядком, для начала.
- ↑ Изучите справку по сайту Викиучебник, освойтесь с вики-средой, общайтесь с читателями и соавторами (
Обсуждение:Лисп
,Обсуждение:Лисп/Типы данных
и так далее.)