ПикоЛисп - PicoLisp
Эта статья поднимает множество проблем. Пожалуйста помоги Улучши это или обсудите эти вопросы на страница обсуждения. (Узнайте, как и когда удалить эти сообщения-шаблоны) (Узнайте, как и когда удалить этот шаблон сообщения)
|
Парадигмы | Функциональный, процедурный, объектно-ориентированный, декларативный, отражающий, мета |
---|---|
Семья | Лисп |
Разработано | Александр Бургер |
Впервые появился | 1988 |
Стабильный выпуск | 20.6 / 20 июня 2020 |
Печатная дисциплина | утка, динамичный, сильный |
Язык реализации | C, сборка, ПикоЛисп |
Платформа | IA-32, x86-64, Arm64 |
Операционные системы | POSIX |
Лицензия | Массачусетский технологический институт |
Расширения имени файла | .l |
Интернет сайт | пиколисп |
Диалекты | |
Эрзац ПикоЛисп, миниПикоЛисп[1] |
ПикоЛисп это язык программирования, диалект языка Лисп. Он работает на операционные системы в том числе Linux и другие, которые Портативный интерфейс операционной системы (POSIX ) совместимый. Его главные особенности - простота и минимализм. Он построен на одной внутренней тип данных: клетка. На уровне языка программист может использовать три разных типы данных (числа, символы и списки) представлены ячейками и различаются битами в конце ячейки.[2] это бесплатное программное обеспечение с открытым исходным кодом выпущен под Лицензия MIT (X11).
особенности
Функции может принимать произвольные типы и количество аргументов. Макросы нужны только в редких случаях и реализуются с помощью функции цитаты. PicoLisp не включает Lisp лямбда-функция. Это связано с тем, что функция цитаты изменена, чтобы возвращать все ее аргументы без оценки, а не только машина
из первых.[3]
Особенностью является внутренняя создавать, читать, обновлять и удалять (CRUD) функционирует. Стойкий символы первоклассные граждане (объекты), они загружаются из база данных файлы автоматически при доступе и записываются обратно при изменении. Приложения написаны с использованием иерархия классов из сущности и отношения.
Другие функции включают: Пролог двигатель ядро базы данных и запросы к базе данных, распределенные базы данных, встраивание C языковые функции и вызовы собственных функций C, управление дочерними процессами, межпроцессного взаимодействия, браузер графический интерфейс пользователя (GUI) и интернационализация и локализация.
История
В 1980-х годах PicoLisp начал разработку Macintosh, и использовался в коммерческих приложениях[который? ] развитие с тех пор.[нужна цитата ] Он был перенесен на ДОС и SCO Unix. С 1993 года он использовался в основном в Linux. В середине 1990-х были добавлены функции базы данных.
Первые версии были написаны на смеси C и язык ассемблера. В 1999 г. первый переписать с нуля, полностью на C. В 2002 году эта версия была выпущена под Стандартная общественная лицензия GNU (GNU GPL). В 2010 году она была изменена на лицензию MIT / X11.
В 2009 г. 64-битный была выпущена версия, еще одна переписанная, на этот раз написанная на универсальной сборке, которая, в свою очередь, реализована в PicoLisp. В этой версии добавлена поддержка сопрограммы.
В декабре 2010 г. Ява версия названа Эрзац ПикоЛисп был выпущен.[4]
В сентябре 2014 года Burger анонсировал проект PilMCU по разработке PicoLisp. список рассылки, попытка с Джорджем Орайсом реализовать PicoLisp напрямую на аппаратном уровне.[5]
Летом 2016 года разработка PilBox («PicoLisp Box») - универсальный Android приложение позволяющий писать приложения на чистом PicoLisp - запустился. Он все еще разрабатывается и поддерживается.
1955 | 1960 | 1965 | 1970 | 1975 | 1980 | 1985 | 1990 | 1995 | 2000 | 2005 | 2010 | 2015 | 2020 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
LISP 1, 1.5, LISP 2(заброшен) | ||||||||||||||
Маклисп | ||||||||||||||
Интерлисп | ||||||||||||||
Лисп-машина Лисп | ||||||||||||||
Схема | R5RS | R6RS | R7RS маленький | |||||||||||
Ноль | ||||||||||||||
Ференц Лисп | ||||||||||||||
Common Lisp | ||||||||||||||
Le Lisp | ||||||||||||||
Т | ||||||||||||||
Chez Scheme | ||||||||||||||
Emacs Lisp | ||||||||||||||
AutoLISP | ||||||||||||||
ПикоЛисп | ||||||||||||||
EuLisp | ||||||||||||||
ISLISP | ||||||||||||||
OpenLisp | ||||||||||||||
Схема PLT | Ракетка | |||||||||||||
GNU Guile | ||||||||||||||
Визуальный LISP | ||||||||||||||
Clojure | ||||||||||||||
Дуга | ||||||||||||||
LFE | ||||||||||||||
Hy |
использованная литература
- ^ "Загрузка PicoLisp". Лаборатория программного обеспечения. Получено 18 ноября 2018.
- ^ Бургер, Александр. «Внутренние конструкции». Лаборатория программного обеспечения. Получено 18 ноября 2018.
- ^ «Даже мелкие детали имеют значение!».
- ^ Бургер, Александр (8 мая 2013 г.). «Эрзац ПикоЛисп». Лаборатория программного обеспечения.
- ^ «Анонс: PicoLisp в аппаратном обеспечении».