Existe-t-il une comparaison entre les différentes versions de Common Lisp pour Mac OS X ? Y a-t-il un vainqueur clair ?
Réponses
Trop de publicités?Pour des comparaisons, voir : http://common-lisp.net/~dlw/LispSurvey.html
D'accord avec les autres : oui, utilisez SBCL ou CCL.
CCL permet d'invoquer plus facilement les bibliothèques ObjC, par exemple pour écrire des applications Mac natives. Pour certains, cela devient le critère décisif. (Personnellement, j'ai aimé utiliser les deux, mais j'ai tendance à rester à jour sur SBCL comme mon principal compilateur pour les logiciels de serveur).
Pour être complet :
CCL est Clozure CL (à ne pas confondre avec celui qui s'écrit avec un "j" au milieu, qui est un autre dialecte que Common Lisp). SBCL se compile en un code plus rapide, et CCL a des temps de compilation plus courts. Les deux sont des compilateurs solides.
Pour cibler iOS/iPhone/iPad, ECL a connu un certain succès. Voir : http://funcall.posterous.com/tag/iphone Mais je ne le considère pas comme un produit de premier plan et je ne l'ai pas encore utilisé moi-même au-delà des échantillons publiés sur ce blog.
Bien que le support des threads sous MacOSX soit considéré comme expérimental avec la SBCL et que les autotests échouent si vous compilez à partir des sources (ce qui est nécessaire pour activer les threads), les threads fonctionnent suffisamment bien dans la plupart des cas. J'ai déployé du code de production fortement threadé en développant sur MacOSX puis en le publiant sur des serveurs fonctionnant sous FreeBSD (qui a également des problèmes similaires avec les threads) et sous Debian/Ubuntu Linux (très stable). Cela m'a bien servi au cours des 5-6 dernières années, y compris dans quelques start-ups.
QuickLisp (pour l'obtention de bibliothèques) est très stable sur SBCL/MacOSX. Je ne l'ai pas essayé sur CCL mais il devrait être solide comme un roc là aussi !
Je ne suis pas sûr des sites de comparaison objectifs mais j'ai utilisé clozure dans le passé, une sorte d'émanation de la mcl de digitool (morte maintenant, mais le code est open sourced je pense). Je pense qu'il y a aussi d'autres possibilités, emacs étant le premier à venir à l'esprit mais ce n'est pas common lisp alors que j'y pense.