Лисп/Рабочая среда: различия между версиями

Содержимое удалено Содержимое добавлено
мНет описания правки
Строка 1:
==Диалекты==
<div style="max-width:52em;margin:1em auto 0 4%;">
Обычно&nbsp;различают Лисп-изначальный замысел языка, и выросшие по нему ''диалекты'', среди которых распространены дватри:
;Общий Лисп ([[Common Lisp]]),:переживший бюрократию американской военной стандартизации, и
;Схим ([[Scheme]]),: считающийся оптимально элегантным «учебным» вариантом языка. В [[Журнал «Потенциал»|журнале «Потенциал»]] даже есть статья «[[Введение в язык Scheme для школьников|Введение&nbsp;в&nbsp;язык&nbsp;Scheme для&nbsp;школьников]]».
;[[Clojure]]
 
Недавно вот ещё сообщество лиспников неоднозначно всколыхнулось появлением нового во всех смыслах диалекта —&nbsp;'''[[newLISP]]''', этакой амбиции сделать [[w:автомат Калашникова|автомат Калашникова]] для армий повседневных хакеров.
</div>
 
==Система разработки==
<div style="max-width:52em;margin:1em auto 0 4%;">
Простой и крайне наглядный [[Лисп/Синтаксис|синтаксис Лиспа]] скоро отучает от шизофреничной [[w:Ксеноглоссия|ксеноглоссии]] всевозможных служебных и препинательных знаков алголоподобных языков. Для лиспника есть только список (то есть дерево, ибо список тот нелинейный и строго однонаправленный) и символы, которые могут быть чем угодно; однако при верном стиле программирования значение большинства из них становится локально понятным.<ref>При этом неалфавитные знаки обычно используются для [необязательного] пояснения того или иного символа: глобальные переменные часто заключаются в *звёздочки* (да, юникод во многих реализациях Лиспа тоже возможен); `машинописные 'кавычки ,запятые &некоторые иные знаки порою используются как синтаксический сахар, но не навязываются как существенная часть основного синтаксиса. Читайте также [[Лисп/Синтаксис]].</ref>
 
При всей этой простоте, полезно бы иметь подходящую среду разработки для Лиспа, которая будет:
* с каждым переводом строки — делать традиционно верный отступ;
* служебные операторы цветом и яркостиюяркостью отличать от встроенных операторов, от вводимых программистом операторов, от синтаксического сахара;
* по простой команде с клавиатуры закрывать скобки;
* подсказывать синтаксис для вводимой языковой конструкции — например, число и порядок передаваемых аргументов для определённого пользователем макроса.