À propos de Lisp
Auteur : John
McCarthy
Un langage fonctionnel très,
très influent. Voir
http://www-formal.stanford.edu/jmc/recursive.html, par John
McCarthy en 1960, pour le texte séminal qui le
sous-tend.
Le texte Worse Is Better, de Richard Gabriel, qui met en valeur la différence entre qualité et succès :
Pédagogie :
- http://lisp-lang.org/
- Une brève introduction, avec quelques comparatifs : http://www-lehre.informatik.uni-osnabrueck.de/~martbeck/essays/lisp.pdf
- Un livre en ligne, par Christian Queinnec :
http://pagesperso-systeme.lip6.fr/Christian.Queinnec/WWW/LiSP.html
- À propos de l'évolution de Lisp, par Guy
Steele et Richard
Gabriel (texte de plus de cent pages) : http://www.dreamsongs.com/Files/HOPL2-Uncut.pdf
- Cinquante ans de Lisp, un livre en ligne par Doug Hoyte : http://letoverlambda.com/index.cl/toc
- http://www.informit.com/articles/article.aspx?p=1671639
- Le texte The Art of the Metaobject Protocol, une critique d'un
livre de Gregor
Kiczales et al. rédigée par Richard
Gabriel : http://www.dreamsongs.com/Files/amop-review.pdf
- Textes de Paul
Graham sur le langage : http://www.paulgraham.com/lisp.html
- D'intérêt historique :
- Micro manuel pour Lisp :
- Référence rapide pour Lisp : http://clqr.boundp.org/
- Pourquoi des langages tels que Racket et Lisp?
Réflexion de Matthew Butterick en 2014 :
http://practicaltypography.com/why-racket-why-lisp.html
- Un interpréteur Lisp rédigé en Python :
http://norvig.com/lispy.html
- Implémenter Ruby en Lisp : http://jng.imagine27.com/articles/2010-10-07-084756_ruby_subset_implementation.html
- La table des matières annotée du livre en ligne Successful
Lisp : http://www.psg.com/~dlamkins/sl/contents.html
- Comprendre les macros syntaxiques : http://brandonbyars.com/2008/02/12/understanding-syntactic-macros/
- Écrire Lisp en Lisp, mais sans listes... http://dcussen.posterous.com/lisp-in-lisp-without-linked-lists
- Caractéristiques de Lisp : http://abhishek.geek.nz/docs/features-of-common-lisp/
- http://lispy.wordpress.com/2007/10/24/lisp-isnt-really-a-programming-language/
- Lisp pour le Web :
- La naissance de Lisp, un survol en 2012 :
http://swizec.com/blog/the-birth-of-lisp-a-summary-of-john-mccarthys-original-paper/swizec/5075
- Lisp et la gestion des conditions, équivalent local de la gestion
des exceptions, texte
de 2012 : http://lubutu.com/soso/condition-handling-for-non-lispers
- Le guide de style de Google pour Lisp : https://google-styleguide.googlecode.com/svn/trunk/lispguide.xml
- Introduction à Lisp, par Mark Brown en 2012 :
- Pourquoi choisir Lisp, un site de Mihai Bazon :
http://lisperator.net/blog/why-lisp/
- Référence concise :
http://jtra.cz/stuff/lisp/sclr/index.html
- En quoi Lisp aide à comprendre JavaScript, texte de
2013 :
http://www.blackpepper.co.uk/posts/how-a-lisp-course-helped-my-javascript/
- Lisp expliqué aux programmeurs C++, par
Sergey Mozgovoy en 2013 :
http://prog-elisp.blogspot.ru/2013/10/lisp-for-c-programmers.html
- Syntaxe :
- Abuser du système de conditions de Lisp, selon Justin Davis en
2014 :
http://www.dawnofthedata.com/2014/05/abusing-langauge-features-common-lisp.html
- Quand utiliser des macros en Lisp, par Laurence Tratt en
2007 :
http://tratt.net/laurie/blog/entries/when_are_macros_useful
- Dans ce texte de 2015, Michael Nielsen
s'inspire d'Alan Kay et indique que Lisp est, en
quelque sorte l'équivalent pour les langages de programmation de ce que sont
les équations de Maxwell en physique :
http://www.michaelnielsen.org/ddi/lisp-as-the-maxwells-equations-of-software/
- En 2015, Ron Garret explique pourquoi, à ses
yeux, Lisp n'est pas tant une syntaxe qu'une manière de penser :
http://blog.rongarret.info/2015/05/why-lisp.html
- Les « formes spéciales » de Lisp, c'est-à-dire les quelques formulations
qui ne respectent par les mêmes règles d'évaluation que toutes les autres.
Texte de 1980 par Kent Pitman :
http://www.nhplace.com/kent/Papers/Special-Forms.html
- Un microcontrôleur exécutant Lisp, par Dmitry Frank en
2016 :
http://dmitryfrank.com/articles/lisp_on_mcu
- Apprendre Lisp en très peu de temps, par Oleksandr Kaleniuk en 2016 :
https://hackernoon.com/learn-you-a-lisp-in-0-minutes-e0c1a060a178
- Un des crédos de Lisp est que « tout est une expression », mais dans ce
texte de 2016, Michael Arntzenius se dit d'avis que cette affirmation est incorrecte :
http://www.rntz.net/post/2016-06-06-not-everything-is-an-expression.html
Critiques :
Divers :
- Le standard ISO de Lisp :
http://www.islisp.org/
- Lisp et la « performance » : http://www.imagine27.com/articles/2009-05-03-195227_i_want_to_believe_in_lisp_performance.html
- Lisp et les applications Web : http://lib.store.yahoo.net/lib/paulgraham/bbnexcerpts.txt
- Lisp comme base de bibliothèque statistique : http://www.stat.auckland.ac.nz/~ihaka/downloads/Compstat-2008.pdf
- http://series.sourceforge.net/
- http://www.newartisans.com/2009/03/hello-haskell-goodbye-lisp.html
- http://www.software-lab.de/radical.pdf
- http://www.bookshelf.jp/texi/onlisp/onlisp_toc.html
- La nature de Lisp, selon Slava Akhmechet en 2006 :
http://www.defmacro.org/ramblings/lisp.html
- Les racines du langage : http://www.paulgraham.com/rootsoflisp.html
- Question de pragmatisme : PHP ou Lisp? http://briancarper.net/blog/386/practicality-php-vs-lisp
- http://gregslepak.posterous.com/on-lisps-readability
- http://c2.com/cgi/wiki?WhyWeLoveLisp
- http://drupal.technicat.com/writing/lisp.html#It%27s+Really+Lisp
- Pour vous amuser, 99 problèmes à
résoudre en Lisp : http://www.ic.unicamp.br/~meidanis/courses/mc336/2006s2/funcional/L-99_Ninety-Nine_Lisp_Problems.html
- Des systèmes d'exploitation
basés sur Lisp : http://linuxfinances.info/info/lisposes.html
- La malédiction de Lisp : http://www.winestockwebdesign.com/Essays/Lisp_Curse.html
- Lisp et les produits Nintendo :
- Le premiere processeur utilisé pour compiler JavaScript
aurait été écrit en Lisp : https://mxr.mozilla.org/mozilla/source/js2/semantics/
- La place de Lisp en recherche opérationnelle, selon Marc Kuo en
2012 : http://kuomarc.wordpress.com/2012/03/05/the-uncommon-lisp-approach-to-operations-research/
- Selon Philip Greenspun, il y a si longtemps que lui-même n'est plus
certain de « quand », « Any sufficiently complicated
C or Fortran program contains an ad-hoc, informally-specified, bug-ridden, slow implementation of half of CommonLisp » :
http://c2.com/cgi/wiki?GreenspunsTenthRuleOfProgramming
- L'évolution de Lisp (et de Prolog, à un
moindre degré), par Sami Badawi en 2013 :
http://blog.samibadawi.com/2013/05/lisp-prolog-and-evolution.html
- Les listes sont-elles vraiment le type fondamental de Lisp? Opinion de Sam
L'Ecuyer en 2014 :
http://cateches.is/post/75658977612/fundamental-lisp-types
- Écrire son propre Lisp en langage C, un livre en
ligne :
http://www.buildyourownlisp.com/
- Écrire un Lisp en sept étapes, par Kjetil Valle en
2014 :
http://kjetilvalle.com/posts/implement-a-programming-language.html
- Architecture pour un processeur Lisp :
http://www.frank-buss.de/lispcpu/
- Lisp au laboratoire JPL, expériences relatées
par Ron Garret en 2002 :
http://www.flownet.com/gat/jpl-lisp.html
- Lisp et les promesses, par Chaitanya Gupta en 2014 :
http://lisper.in/promises/
- En 2007, Mark Tarver parle du « programmeur
Lisp bipolaire » :
http://marktarver.com/bipolar.html
- Utiliser Lisp en tant que
langage
de script, réflexion de 2015 :
http://fare.livejournal.com/184127.html
- En 2015, Philip Chu dit s'ennuyer de Lisp, son
langage favori :
https://medium.com/@technicat/i-miss-lisp-847bf040be84
- Utiliser Lisp dans du code de production, par Vsevolod Dyomkin et Kevin McIntire en
2015 :
http://tech.grammarly.com/blog/posts/Running-Lisp-in-Production.html
- Selon Dan Prince en 2015, il se cache
probablement un Lisp quelque part dans votre langage de programmation favori :
http://danthedev.com/2015/09/09/lisp-in-your-language/
- Le bonheur avec Lisp ne se limite pas aux macros, comme le souligne James
Long en 2012 :
http://jlongster.com/Lisp--It-s-Not-About-Macros,-It-s-About-Read
- En 2016, John D. Cook parle des programmeurs
Lisp humbles, qui existent malgré la rumeur :
http://www.johndcook.com/blog/2016/07/20/humble-lisp-programmers/
Outils :
Dialectes
Common Lisp :
Emacs Lisp :
Joxa, un Lisp pensé pour les
systèmes parallèles et concurrents, et qui s'exécute sur
ERTS :
newLISP, pensé entre autres pour les systèmes embarqués :
Pico Lisp :
Phosphorous Lisp :