Article de reference

PicoLisp

PicoLisp est un langage de programmation, un dialecte du langage Lisp . Il fonctionne sur des systèmes d'exploitation tels que Linux et d'autres compatibles POSIX ( Portable Ope...

PicoLisp est un langage de programmation, un dialecte du langage Lisp . Il fonctionne sur des systèmes d'exploitation tels que Linux et d'autres compatibles POSIX ( Portable Operating System Interface ). Ses caractéristiques les plus marquantes sont la simplicité et le minimalisme . Il est construit sur un type de données interne : une cellule. Au niveau du langage, un programmeur peut utiliser trois types de données différents (nombres, symboles et listes) représentés par des cellules et différenciés par des bits à la fin de la cellule. Il s'agit d'un logiciel libre et open source publié sous une licence MIT (X11).

Caractéristiques

Les fonctions peuvent accepter des types et des nombres d'arguments arbitraires. Les macros ne sont nécessaires que dans de rares cas et sont implémentées à l'aide de la fonction quote. PicoLisp n'inclut pas la fonction lambda de Lisp . Cela est dû au fait que la fonction quote est modifiée pour renvoyer tous ses arguments non évalués, pas seulement ceux cardu premier.

Une particularité est le fonctionnement intrinsèque de création, lecture, mise à jour et suppression (CRUD). Les symboles persistants sont des citoyens de première classe (des objets), ils sont chargés automatiquement à partir des fichiers de base de données lors de l'accès et réécrits lors de la modification. Les applications sont écrites à l'aide d'une hiérarchie de classes d' entités et de relations .

D'autres fonctionnalités incluent : le moteur Prolog , le moteur de base de données et les requêtes de base de données, les bases de données distribuées, l'intégration de fonctions en langage C et les appels de fonctions C natifs, la gestion des processus enfants, la communication interprocessus , l'interface utilisateur graphique (GUI) du navigateur, ainsi que l'internationalisation et la localisation .

Histoire

Dans les années 1980, PicoLisp a commencé à être développé sur Macintosh et a été utilisé dans le développement d'applications commerciales La conception de PicoLisp est très similaire à la première version de MacLisp, Interlisp et principalement à Portable Standard Lisp. Il a été porté sur DOS et SCO Unix . Depuis 1993, il est principalement utilisé sur Linux. Au milieu des années 1990, des fonctions de base de données ont été ajoutées.

Les premières versions ont été écrites dans un mélange de langage C et d'assembleur . En 1999, une première réécriture complète a été réalisée, entièrement en C. En 2002, cette version a été publiée sous une licence publique générale GNU (GNU GPL). En 2010, elle a changé pour une licence MIT/X11.

En 2009, la version 64 bits a été publiée, une autre réécriture, cette fois écrite en assembleur générique, qui à son tour est implémentée en PicoLisp. Cette version ajoute le support des coroutines .

En décembre 2010, une version Java nommée Ersatz PicoLisp a été publiée.

En septembre 2014, Burger a annoncé le projet PilMCU sur la liste de diffusion de développement PicoLisp , un effort avec George Orais pour implémenter PicoLisp directement dans le matériel.

En juillet 2015, Burger a annoncé PilOS - The PicoLisp Operating System, un prototype minimal basé sur la modification de PilMCU ciblant les applications embarquées. Il fonctionne sur du matériel PC x86-64 standard, directement à partir du BIOS et comprend toutes les fonctionnalités de PicoLisp 64 bits (moins les appels de fonctions natives, en raison du fait qu'il n'existe aucun autre environnement natif tel que la bibliothèque standard C) ; en principe, il fonctionne comme son propre système d'exploitation.

À l'été 2016, le développement de PilBox (« PicoLisp Box ») – une application Android générique permettant d'écrire des applications en PicoLisp pur – a débuté. Elle est toujours en cours de développement et de maintenance.

En 2021, PicoLisp a été réimplémenté dans LLVM et publié sous le nom de pil21 . Le langage source compilé en LLVM-IR est également en syntaxe PicoLisp.

1958 1960 1965 1970 1975 1980 1985 1990 1995 2000 2005 2010 2015 2020
LISP 1, 1.5, LISP 2 (abandonné)
Maclisp
Interlisp
MDL
Machine Lisp Lisp
Schème R5RS R6RS R7RS petit
NÉANT
ZIL (langage d'implémentation Zork)
Franz Lisp
Lisp commun Norme ANSI
Le Lisp
Programme du MIT
XLISP
T
Chez Scheme
Emacs Lisp
AutoLISP
PicoLisp
Gambit
EuLisp
ISLISP
OpenLisp
Régime PLT Raquette
nouveauLISP
Guile de GNU
Visual LISP
Clojure
Arc
LFE
Salut
Chialisp

Plus d articles de Worldlex Wiki

Revenez a l index pour explorer davantage de pages sur l histoire, la science, la culture, la geographie et la societe en francais.

Explorer l index