Для установки нажмите кнопочку Установить расширение. И это всё.

Исходный код расширения WIKI 2 регулярно проверяется специалистами Mozilla Foundation, Google и Apple. Вы также можете это сделать в любой момент.

4,5
Келли Слэйтон
Мои поздравления с отличным проектом... что за великолепная идея!
Александр Григорьевский
Я использую WIKI 2 каждый день
и почти забыл как выглядит оригинальная Википедия.
Статистика
На русском, статей
Улучшено за 24 ч.
Добавлено за 24 ч.
Альтернативы
Недавние
Show all languages
Что мы делаем. Каждая страница проходит через несколько сотен совершенствующих техник. Совершенно та же Википедия. Только лучше.
.
Лео
Ньютон
Яркие
Мягкие

Из Википедии — свободной энциклопедии

newLISP
Изображение логотипа
Класс языка Мультипарадигмальный язык программирования
Появился в 1991
Автор Lutz Müller
Разработчик Lutz Müller
Выпуск
Испытал влияние Common Lisp, Scheme
Лицензия GNU General Public License
Сайт newlisp.org

NewLISP— диалект лиспа, созданный в качестве скриптового языка.

Особенности

newLISP (v.10.7.0) editor

Реализацию newLisp отличает легковесность, а сам язык — простота изучения[2].

В состав дистрибутива newLISP входит простая среда программирования[3], в которой под областью редактирования исходного текста находится окно эмулятора терминала, где можно видеть результаты выполнения лисп-программы (см. REPL)[4].

В языке поддерживается псевдообъектно-ориентированное программирование в форме FOOP (функционально-объектного программирования)[5].

Язык поставляется в комплекте со средствами программирования GUI[6].

В NewLISP встроены средства веб-программирования (Httpd и CGI[7][7]), а также работы с такими сетевыми протоколами, как TCP/IP[7] или UDP[7][8].

В сравнение с другими диалектами

NewLISP имеет ряд особенностей, отличающих его от Common Lisp[9] и других диалектов лиспа, как в синтаксисе, так и в семантике[10]. Например, традиционные имена стандартных функций для работы со списками car и cdr заменены на first и rest, как в T-Lisp. Несколько отличаются детали поведения функций cons и last. Списки являются индексируемыми, можно получить i-й элемент списка myList, считая с нуля, с помощью выражения (myList i).[11]

В ряде особенностей newLISP похож на Scheme. Как и в Scheme, в newLisp принято энергичное вычисление передаваемых параметров функции. Для переменных, примитивов и определяемых пользователем символов тут так же используется единое пространство имён[11].

Значимое отличие newLisp состоит в том, что по умолчанию в нём используется динамическая область видимости переменных. Если нужна лексическая (статическая) область видимости, это достигается через механизм т. н. контекстов[11].

История

Немецкий учёный-компьютерщик Лутц Мюллер разработал NewLisp как простой в изучении диалект лиспа[12]. В отличие от традиционных версий лиспа, newLISP проектировался как скриптовый язык. Автор ссылается[10] на статью «In Praise of Scripting: Real Programming Pragmatism»[13], которая была написана в рамках дискуссии, вызванной статьёй разработчика Tcl Джона Остераута «Сценарии: высокоуровневое программирование для XXI века»[14].

Язык был впервые реализован на рабочей станции Sun4 в 1991 г.[15] В 1993 году он был перенесён на шестнадцатиразрядную Windows 3.0, а в 1995 — на тридцатидвухразрядную Windows 95. В апреле 1999 года NewLISP был портирован на Linux и открыт под свободной лицензией. Весь код, специфичный для Windows был удалён, и, начиная с версии 6.0.25, поддержка этой операционной системы была прекращена. В 2001 году работа под Windows становится возможной благодаря Cygwin, вначале win-версия работала только в консоли, но в версии 6.3 с использованием Tcl/Tk был реализован кроссоплатформенный графический интерфейс пользователя newLISP-tk. В 2007 году была разработана GUI-библиотека newLISP-GS на базе Java, в настоящее время являющаяся основной реализацией графического интерфейса для newLISP. Ниже дана хронология ключевых изменений с 1990 по 2014 год[16].

Версия Год Основные изменения
1.0 1990 Первая версия, работала на Sun-4 под управлением SunOS/BSD 4.1
1.3 1993 Перенос на Windows 3.0
3.0 1995 Перенос на Windows 95
6.0 1999 Open source (GPL) версия для Unix/Linux
6.3 1999 newLISP-tk Tcl/Tk IDE
6.5.8 2002 Регулярные выражения PCRE
7.1-4 2003 Поддержка MacOS X и Solaris, PDF-руководство, catch и throw, контекстные переменные, Win32 DLL
8.0-3 2004 Массивы, поддержка UTF-8, запуск (fork) процессов, семафоры, разделяемая память, функция по умолчанию
8.4-7 2005 Неявная индексация массивов, поддержка локалей с разделением чисел запятыми, сигналы и таймеры, распределённые вычисления посредством net-eval
8.8-9 2006 Унификация в стиле Пролога, раскрытие переменных в стиле макросов, доработка поддержки неявного индексирования
9.0 2006 Поддержка 64-разрядной арифметики и обращения к файлам, дополнительные функции работы с массивами, режим HTTP сервера
9.1 2007 Компиляция для 64-разряднвх платформ, режим HTTP/CGI сервера, функторы в ref, ref-all, find, replace
9.2 2007 newLISP-GS — корссплатформенная GUI-библиотека для разработки пользовательских интерфейсов на newLISP
9.3 2008 FOOP — Функционально-Объектно-Ориентированное Программирование
9.4 2008 Cilk — API параллельного программирования для newLISP
10.0 2009 Общая очистка API, передача по ссылкам, новое унифицированное деструктивное API с использованием setf
10.1 2009 API взаимодействия между акторами на Mac OS X, Linux и других UNIX
10.2 2010 FOOP переделано на использование изменяемых (мутабельных) объектами
10.3 2011 Возможность переключать интернет протокол между IPv4 и IPv6
10.4 2012 Переписан интерфейс очереди сообщений и расширено API импорта с использованием libffi[en]
10.5 2013 Целочисленная арифметика неограниченной точности
10.5.2 2013 KMEANS кластерный анализ
10.5.7 2014 Компиляция в достаточно быстродействующий JavaScript, исполняемый на стороне браузера
10.6.0 2014 Нативное раскрытие макрофункций

Применение

Для веб-программирования c использованием newLisp может использоваться веб-фреймворк newLISP on Rockets[17][18], использующий на стороне браузера Bootstrap и jQuery и сохраняющий данные в SQLite[8]. На создание этого фреймворка автора вдохновил[19] более ранний фреймворк — Dragonfly[20][21].

На базе NewLisp реализован FuzzyLisp[22], библиотека для работы с нечёткой логикой[23].

Примечания

  1. http://www.newlisp.org/downloads/newLISP-10.7.5-Release.html
  2. Смедли, 2014.
  3. В операционных системах linux-семейства запускается командой newlisp-edit
  4. Mendez, 2015, 1.5 A Quick Start Using NewLisp, pp. 8—13.
  5. Смедли, 2015, с. 25.
  6. Mendez, 2015, 4.2.4 Building a Simple User Interface, pp. 102—104.
  7. 1 2 3 4 Lutz Mueller. newLISP Code Patterns. §13. UDP communications. www.newlisp.org. Дата обращения: 30 мая 2016. Архивировано 29 июля 2016 года.
  8. 1 2 Смедли, 2015, с. 24.
  9. Mendez, 2015, Appendix A. NewLisp Versus Common Lisp, pp. 347—352.
  10. 1 2 newLISP  - Differences to Other LISPs. www.newlisp.org. Дата обращения: 30 мая 2016. Архивировано 6 апреля 2022 года.
  11. 1 2 3 Lazar, 2009, newLISP: the language.
  12. Mendez, 2015, 1.4 The NewLisp Implementation, p. 7.
  13. Ronald P. Loui. In Praise of Scripting:  Real Programming Pragmatism // Computer. — 2008. — Июнь (т. 41, № 7). — С. 22—26. — doi:10.1109/MC.2008.228. Архивировано 23 сентября 2015 года.
  14. Остераут, 1998.
  15. Смедли, 2015, с. 22.
  16. Lutz Mueller. Programming Language Projects. NewLISP.  newLISP History. www.donlucio.net. Дата обращения: 30 мая 2016. Архивировано 12 апреля 2016 года.
  17. The newLISP on Rockets Blog. newlisponrockets.com. Дата обращения: 29 мая 2016. Архивировано 10 апреля 2016 года.
  18. Проект newLISP-on-Rockets на сайте GitHub
  19. Rocket Man. Converting other newLISP code to Rockets. Post #: 85. newlisponrockets.com (21 февраля 2013). Дата обращения: 30 мая 2016. Архивировано 21 марта 2016 года.
  20. Marc Hildmann, Greg Slepak. Welcome  - Dragonfly web framework. dragonfly.apptruck.de. Дата обращения: 30 мая 2016. Архивировано 3 марта 2016 года.
  21. Проект Dragonfly на сайте GitHub
  22. Luis Argüelles. FuzzyLisp. www.fuzzylisp.com. Дата обращения: 29 мая 2016. Архивировано 6 августа 2016 года.
  23. Mendez, 2015.

Литература

Ссылки

Эта страница в последний раз была отредактирована 15 мая 2022 в 03:58.
Как только страница обновилась в Википедии она обновляется в Вики 2.
Обычно почти сразу, изредка в течении часа.
Основа этой страницы находится в Википедии. Текст доступен по лицензии CC BY-SA 3.0 Unported License. Нетекстовые медиаданные доступны под собственными лицензиями. Wikipedia® — зарегистрированный товарный знак организации Wikimedia Foundation, Inc. WIKI 2 является независимой компанией и не аффилирована с Фондом Викимедиа (Wikimedia Foundation).