Jump to content

ПикоЛисп

(Перенаправлено с Пиколиспа )
ПикоЛисп
Парадигмы Функциональный , процедурный , объектно-ориентированный , декларативный , рефлексивный , мета.
Семья Лисп
Разработано Александр Бургер
Впервые появился 1988 год ; 36 лет назад ( 1988 )
Дисциплина набора текста утка , динамичная , сильная
Язык реализации ЛЛВМ , ПикоЛисп
ТЫ ПОСИКС
Лицензия С
Расширения имен файлов
Веб-сайт пиколис
Диалекты
Эрзац PicoLisp, miniPicoLisp [1]

PicoLisp — язык программирования, диалект языка Lisp . Он работает в операционных системах , включая Linux и других, совместимых с интерфейсом переносимой операционной системы (POSIX). Его наиболее характерными чертами являются простота и минимализм . Он построен на одном внутреннем типе данных : ячейке. На уровне языка программист может использовать три разных типа данных (числа, символы и списки), представленные ячейками и различающиеся битами в конце ячейки. [2] Это бесплатное программное обеспечение с открытым исходным кодом , выпущенное под лицензией MIT (X11).

Особенности [ править ]

Функции могут принимать произвольные типы и количество аргументов. Макросы нужны лишь в редких случаях и реализуются с помощью функции кавычек. PicoLisp не включает лямбда-функцию Лиспа . Это связано с тем, что функция quote изменена и теперь возвращает все свои аргументы невычисленными, а не только car из первого. [3]

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

Другие функции включают в себя: механизм Prolog , механизм базы данных и запросы к базе данных, распределенные базы данных, встраивание функций языка C и собственные вызовы функций C, управление дочерними процессами, межпроцессное взаимодействие браузера , графический интерфейс пользователя (GUI) , а также интернационализацию и локализацию .

История [ править ]

В 1980-х годах PicoLisp начал разработку на Macintosh и использовался в коммерческих приложениях. [ который? ] развитие с тех пор. [ нужна ссылка ] Дизайн PicoLisp больше всего похож на первую версию MacLisp, Interlisp и, главным образом, на Portable Standard Lisp. [4] Он был портирован на DOS и SCO Unix . С 1993 года он использовался в основном в Linux. В середине 1990-х годов были добавлены функции базы данных.

Первые версии были написаны на смеси языков C и ассемблера . В 1999 году была сделана первая переписанная версия с нуля, полностью на языке C. В 2002 году эта версия была выпущена под лицензией GNU General Public License (GNU GPL). В 2010 году она была изменена на лицензию MIT/X11.

В 2009 году была выпущена 64-битная версия, еще одна переписанная, на этот раз написанная на обобщенном ассемблере, который, в свою очередь, реализован на PicoLisp. В этой версии добавлена ​​поддержка сопрограмм .

В декабре 2010 года версия Java под названием Ersatz PicoLisp . была выпущена [5]

В сентябре 2014 года Бургер объявил о проекте PilMCU в списке рассылки разработки PicoLisp — попытке совместно с Джорджем Орайсом реализовать PicoLisp напрямую на аппаратном уровне. [6]

В июле 2015 года Burger анонсировала PilOS — операционную систему PicoLisp, минимальный прототип, основанный на модификации PilMCU, предназначенной для встроенных приложений. [7] Он работает на стандартном оборудовании ПК x86-64, непосредственно из BIOS и включает в себя все функции 64-битного PicoLisp (за исключением вызовов собственных функций, поскольку нет другой встроенной среды, такой как стандартная библиотека C); в принципе, он работает как собственная операционная система. [8]

Летом 2016 года была начата разработка PilBox («PicoLisp Box») — универсального для Android приложения , позволяющего писать приложения на чистом PicoLisp. Он до сих пор развивается и поддерживается. [9]

В 2021 году PicoLisp был повторно реализован в LLVM и выпущен как pil21 . Исходный язык, скомпилированный в LLVM-IR, также имеет синтаксис PicoLisp.

1958 1960 1965 1970 1975 1980 1985 1990 1995 2000 2005 2010 2015 2020
ЛИСП 1, 1.5, ЛИСП 2 (заброшенный)
 Маклисп
 Интерлисп
 леев
 Лисп-машина Лисп
 Схема Р5РС Р6РС R7RS маленький
 НОЛЬ
 ЗИЛ (язык реализации Zork)
 Франц Лисп
 Общий Лисп стандарт ANSI
 Лисп
 Схема СО
 XLISP
 Т
 На схеме
 Эмакс Лисп
 АвтоЛИСП
 ПикоЛисп
 Гамбит
 EuLisp
 ИСЛИСП
 ОпенЛисп
 Схема PLT  Ракетка
 новыйЛИСП
 GNU Коварство
 Визуальный ЛИСП
 Кложур
 Дуга
 ЛФЭ
 Он
 Хиалисп

Ссылки [ править ]

  1. ^ «Загрузка ПикоЛисп» . Лаборатория программного обеспечения . Проверено 18 ноября 2018 г.
  2. ^ Бургер, Александр. «Внутренние структуры» . Лаборатория программного обеспечения . Проверено 18 ноября 2018 г.
  3. ^ «Даже мелкие детали имеют значение!» .
  4. ^ «Re: Корни PicoLisp» .
  5. ^ Бургер, Александр (8 мая 2013 г.). «Эрзац ПикоЛисп» . Лаборатория программного обеспечения .
  6. ^ «Анонс: PicoLisp в аппаратном обеспечении» .
  7. ^ «PilMCU мертв – да здравствует PilOS!» .
  8. ^ «PicoLisp Wiki: Пилос» .
  9. ^ «PicoLisp PilBox в Google PlayStore» .

Внешние ссылки [ править ]

Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: c69e61c1007f51b6444d2a0a50dfb48e__1711803660
URL1:https://arc.ask3.ru/arc/aa/c6/8e/c69e61c1007f51b6444d2a0a50dfb48e.html
Заголовок, (Title) документа по адресу, URL1:
PicoLisp - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)