Парадигмы | Функциональные, процедурные, объектно-ориентированные, декларативный, рефлексивный, мета |
---|---|
Семейство | Lisp |
Разработано | Александром Бургером |
Впервые появилось | 1988; 32 года назад (1988 г.) |
Стабильный выпуск | 20.6 / 20 июня 2020 г.; 4 месяца назад (2020-06-20) |
Дисциплина набора текста | утка, динамический, сильный |
Язык реализации | C, ассемблер, PicoLisp |
Платформа | IA-32, x86-64, Arm64 |
OS | POSIX |
Лицензия | MIT |
Расширения имен файлов | .l |
Веб-сайт | picolisp.com |
Диалекты | |
Ersatz PicoLisp, miniPicoLisp |
PicoLisp - это язык программирования, диалект языка Lisp. Он работает в операционных системах, включая Linux и других, совместимых с Portable Operating System Interface (POSIX ). Его основные черты - простота и минимализм. Он построен на одном внутреннем типе данных : ячейка. На уровне языка программист может использовать три разных типа данных (числа, символы и списки), которые представлены ячейками и различаются битами в конце ячейки. Это бесплатное программное обеспечение с открытым исходным кодом, выпущенное по лицензии MIT (X11).
Функции могут принимать произвольные типы и количество аргументов. Макросы нужны только в редких случаях и реализуются с помощью функции цитаты. PicoLisp не включает лямбда-функцию Лиспа. Это связано с тем, что функция кавычек изменена так, чтобы возвращать все ее аргументы без оценки, а не только car
первого.
Особенностью является встроенная функция create, read, update, и удалите (CRUD). Постоянные символы - это первоклассные граждане (объекты), они загружаются из файлов базы данных автоматически при доступе и записываются обратно при изменении. Приложения пишутся с использованием иерархии классов из сущностей и отношений.
Другие функции включают: механизм Prolog, механизм базы данных и запросы к базе данных, распределенные базы данных, встраивание функций языка C и вызовов собственных функций C, управление дочерними процессами, межпроцессное взаимодействие, браузер графический пользовательский интерфейс (GUI) и интернационализация и локализация.
В 1980-х годах PicoLisp начал разработку на Macintosh и с тех пор использовался в разработке коммерческих приложений. Он был перенесен на DOS и SCO Unix. С 1993 года он использовался в основном в Linux. В середине 1990-х были добавлены функции базы данных.
Первые версии были написаны на смеси C и ассемблера. В 1999 г. было выполнено первое переписывание с нуля, полностью на C. В 2002 г. эта версия была выпущена под Стандартной общественной лицензией GNU (GNU GPL). В 2010 году она была изменена на лицензию MIT / X11.
В 2009 году была выпущена 64-битная версия, еще одна переработанная версия, на этот раз написанная на универсальной сборке, которая, в свою очередь, реализована в PicoLisp. В этой версии добавлена поддержка сопрограмм.
. В декабре 2010 года была выпущена версия Java под названием Ersatz PicoLisp.
В сентябре 2014 года Burger анонсировал проект PilMCU по разработке PicoLisp listserv - попытка Джорджа Орайса напрямую реализовать PicoLisp на аппаратном уровне.
Летом 2016 года была разработана PilBox («PicoLisp Box») - универсальный Android приложение, позволяющее писать приложения на чистом PicoLisp - было запущено. Он все еще разрабатывается и поддерживается.