Из Википедии, свободной энциклопедии
  (Перенаправлено с Picolisp )
Перейти к навигации Перейти к поиску

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

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

Функции могут принимать произвольные типы и количество аргументов. Макросы нужны только в редких случаях и реализуются с помощью функции цитаты. PicoLisp не включает лямбда-функцию Лиспа . Это связано с тем, что функция цитаты изменена, чтобы возвращать все ее аргументы без оценки, а не только 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 года Burger объявил PilMCU проект по развитию PicoLisp листсерв , усилие с Джорджем Orais для реализации PicoLisp в аппаратных средств непосредственно. [6]

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

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

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

  1. ^ "Загрузка PicoLisp" . Программная лаборатория . Проверено 18 ноября 2018 .
  2. ^ Бургер, Александр. «Внутренние конструкции» . Программная лаборатория . Проверено 18 ноября 2018 .
  3. ^ "Даже мелкие детали имеют значение!" .
  4. ^ https://www.mail-archive.com/[email protected]/msg04884.html
  5. Бургер, Александр (8 мая 2013 г.). «Эрзац ПикоЛисп» . Программная лаборатория .
  6. ^ «Объявление: PicoLisp в оборудовании» .
  7. ^ https://www.mail-archive.com/[email protected]/msg05364.html
  8. ^ https://picolisp.com/wiki/?PilOS

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

  • Официальный сайт
  • Picolisp на C2 вики