• [^] # Re: pourquoi le lisp

    Posté par . En réponse à la dépêche Sortie de SBCL 1.0. Évalué à 8.

    Comme on te l'a fait remarquer, tu prends le problème dans le mauvais sens. Un texte de Paul Graham est dispo là: http://paulgraham.com/icad.html
    Il y explique que peu à peu les langages courants intègrent des capacités de Lisp, qu'il était le seul à avoir auparavant. Ca a commencé par les conditionnelles, et ca a fini par le GC. On attends encore de voir un système de macros équivalent en termes de puissance et d'expressivité à celui de Lisp.

    Quand tu demandes "supporte-il nativement le XML et la programmation par contrats" je serais tenté de te répondre que tu peux l'implémenter dans Lisp toi-même. C'est là toute la difficulté d'apprendre Lisp d'ailleurs. On n'utilise pas Lisp pour résoudre un problème comme on le ferait avec un langage classique, mais on modifie Lisp pour créer un langage adapté à son problème.

    C'est d'ailleurs cet aspect qui rend Lisp déconcertant au premier abord.

    Sinon la news concerne SBCL, qui est un compilateur Common Lisp. En Common Lisp tu as le compilateur disponible au runtime, ce qui permet de faire des trucs sympas. Je crois me souvenir que cl-ppcre (une bibliothèque qui implémente les regex en lisp) utilise cela pour compiler (vraiment) les regex. Jette un oeil là: http://weitz.de/cl-ppcre/

    "Y'a-t-il des gens qui utilisent le lisp pour faire des choses sérieuses en entreprise (en faisant abstraction de emacs) ?"

    On t'a déjà indiqué Naughty Dog (un doctorant du MIT a réalisé un compilateur en Lisp avec un langage spécifique à la création de jeux en un an, il y a un article à ce sujet quelque part sur Gamasutra il me semble). Tu as aussi ITA Software, qui ont réalisé le moteur de recherche de trajets par avion et de réservations utilisé notamment par Orbitz. Enfin, dans la catégorie des trucs sympas faits en Lisp, tu as par exemple ça: http://franz.com/success/customer_apps/data_mining/pepite.lh(...)

    Pour plus d'info tu as les grands classiques: http://www.common-lisp.net
    http://cliki.net
    http://planet.lisp.org

    Pour finir, si tu veux tester quelque chose comme cl-ppcre, sbcl intègre asdf-install de base. Donc (de mémoire), tu peux tester avec:
    (require 'asdf-install)
    (asdf-install:install :cl-ppcre)

    La liste des projets installables par asdf-install est dispo sur common-lisp.net

    (Désolé tout ça était un peu brouillon, je me réveille à peine :-) )