Le-Lisp de l'INRIA version 15.22 Janvier 89 Voici les corrections et les extensions de la nouvelle diffusion de Le-Lisp version 15.22 (dite ``des Rois Mages'') date'e du 6 janvier 1989. Une fois par an, l'INRIA et ILOG livrent aux porteurs une nouvelle version de Le-Lisp comprenant des ame'liorations, extensions et corrections. Seule cette diffusion annuelle contient des changements a` la souche de Le-Lisp, e'crite en LLM3. Survol de 15.22 =============== Les diffe'rences majeures entre la version 15.21 et la version 15.22 sont les suivantes : Des corrections aux erreurs signale'es. (cf RATs) Le traitement des modules a e'te' ame'liore' de plusieurs fac,ons. On peut maintenant inclure des commentaires dans les descriptions des modules (les fichiers .lm). On peut aussi charger les modules en interprete' (l'ensemble des fichiers sources est charge' si le chargeur n'est pas pre'sent ou si il n'y a pas de version compile'e du module). L'exportation de l'ensemble des de'finitions est aujourd'hui possible en de'finissant un nouveau type d'exportation. Le-Lisp est lance' avec un processus unique (il n'y a plus de lelispgo). Ceci permet a` des applications e'crites en Le-Lisp de communiquer beaucoup plus simplement avec les syste`mes ho↑tes (par exemple, les tuyaux Un*x). Un nouveau traitement d'erreur pile pleine. De'sormais en mode debug, lors d'une erreur pile pleine l'utilisateur voit la trace de la pile qui lui permet une correction tre`s simple. La fonction end affine le contro↑le de la sortie de Le-Lisp. (end t) sort avec un code d'erreur retourne' au syste`me ho↑te. (end ()) sort sans imprimer la salutation. Et bien su↑r, (end) conserve le traitement standard. Du me↑me cru, save-core permet maintenant de distinguer le retour de cre'ation d'une image me'moire, de sa restoration. L'appel a` save-core retourne a` pre'sent T, et chaque appel a` restore-core retourne (). Il y a une nouvelle imple'mentation des variables ge'ne'ralise'es (setf). Cette fonctionalite' permet d'affecter des positions dans des objets arbitraires sans cre'er une fonction (ou un nom) spe'cialise'e. Il y une implantation comple`te des tables de hachage. Une table de hachage est un type de donne'es permettant un acce`s rapide a` un ensemble des valeurs a` l'aide des cle's. Les appels externes ont e'te' e'tendus pour permettre les variables par re'fe'rence (RFIX, RFLOAT) ainsi que les vecteurs d'entiers et de flottants (FIXVECTOR, FLOATVECTOR). Une implantation des noms des fichiers virtuels est dore'navant fournie en Le-Lisp. Les fichiers peuvent e↑tre inclus dans du code Le-Lisp de fac,on portable. Les tests de performance ont e'te' revus facilitant le passage des ``benchmarks'' par les utilisateurs eux-me↑mes. Le Bitmap Virtuel a e'te' reconc,u afin de permettre plusieurs instances de BV (des display's) dans une me↑me image me'moire. Il y a e'galement plus d'accessibilite' aux parame`tres graphiques tels que couleur, formes de curseur et polices virtuelles. Un exemple de portage du Bitmap Virtuel au gou↑t du jour est fourni pour X11. Les portages pre'ce'dants continuent de fonctionner. Une deuxie`me implantation de l'arithme'tique ge'ne'rique, plus rapide (KerN) est fournie. Greg Nuyens ILOG, S.A. les RATs ======== Les changements de Le-Lisp sont ge're's avec des RATs (Reque↑tes d'Action Technique). Nous n'avons fourni que les sujets des RATs par souci de place, mais vous pouvez avoir le texte complet d'un rat d'ILOG en nous en communiquant le nume'ro. (Notez s'il vous plai↑t que les nume'ros des RATs sont partage's par tous les produits ILOG et pas uniquement Le-Lisp. Ne soyez pas effraye' par les nume'ros e'leve's!) rat 7 area: language aspect: arithmetic status: fixed origin: J. Chailloux documentation de floor ceiling et round rat 8 area: ports aspect: tools status: fixed origin: nuyens Have to query stars by number. rat 10 area: i/o aspect: formatted-i/o status: fixed origin: Pierre Duquesnoy RMARGIN 257 veut dire infini mais ce n'est documente'. rat 12 area: i/o aspect: basic-i/o status: fixed origin: Bernard Serpette [INRIA] SHARP-LOWBYTE/SHARP-VALUE engendrent des messages bizares parfois. rat 13 area: language aspect: interpreter status: fixed origin: Alain Laville EXPLODE ajoute tjrs un blanc qd il explose une chaine plus grande que RMARGIN rat 18 area: i/o aspect: basic-i/o status: fixed origin: B. Serpette (CLOSE) ne reouvre pas la console. rat 34 area: ports aspect: tests status: fixed origin: nuyens INCR a1,label ne precise pas si A1 est incremente' en cas de de'bordement. rat 39 area: compiler aspect: complice status: fixed origin: F. Fages [Thomson CSF] complice ne respecte pas la trace rat 40 area: language aspect: interpreter status: fixed origin: tres vieux! &NOBIND et LET sont incompatibles rat 42 area: i/o aspect: virbitmap status: fixed origin: nuyens les tests ne teste pas fill-rectangle, ni "character attributes" rat 52 area: language aspect: interpreter status: fixed origin: vieux probleme de l'interprete [Inria, Bull,...] En cas d'erreur sur le nbre d'arguments, les variables deja lie'es sont remanentes. rat 53 area: other status: fixed origin: B. Serpette : LLM3 : Une declaration PURE a disparu de gc.llm3 rat 73 area: language aspect: interpreter status: fixed origin: B. Serpette [INRIA] les TCONS avec car flottant s'ne s'impriment pas. rat 74 area: language aspect: interpreter status: fixed origin: B. Serpette [INRIA] FREECONS n'efface pas le type d'un cons type'. rat 77 area: programming-environment aspect: step status: fixed origin: J. Duthen [IRCAM] Generalisation des variables d'entree/sortie lors d'un STEP ou TRACE rat 80 area: memory-management status: fixed origin: Cyril CAMBIEN [ACT] FREECONS doit verifier que son argument est un CONS. rat 81 area: i/o aspect: formatted-i/o status: fixed origin: Cyril CAMBIEN [ACT] #() fait planter la machine (tous systemes) rat 82 area: language aspect: interpreter status: fixed origin: Cyril CAMBIEN [ACT] CATENATE devrait verifier la longueur de la chaine resultat. rat 84 area: ports aspect: tools status: fixed origin: Julien Basch [ACT] mac68k: MOVXSP avec une cste s'expanse mal sur Mac rat 123 area: language aspect: interpreter status: fixed origin: Jose GRIMM DEFSHARP devrait tester le type de son 1er argument. rat 126 area: compiler aspect: llcp status: fixed origin: Parquier [BULL] Mauvaise compilation de (REPEAT) : rat 128 area: compiler aspect: llcp status: fixed origin: Parquier [BULL] Il faut mieux documenter les cas de la compilation des fonctions. rat 130 area: language aspect: interpreter status: fixed origin: Parquier [BULL] message d'erreur a revoir pour les e'chappements inde'finis au toplevel. rat 172 area: language aspect: other status: fixed origin: Duthen [IRCAM] Documentation: RASSQ opere sur des paires pointe'es [p 3-60] rat 173 area: language aspect: interpreter status: fixed origin: W. Hubert, CRIL apply d'un Mlambda explicite ne marche pas, mais d'un DM marche. rat 175 area: memory-management status: fixed origin: Dupont, INRIA LEXPLD, RINGUR, CURREAD, IMPLD ne sont pas restaures apres le GC rat 177 area: ports aspect: tests status: fixed origin: Dupont INRIA Les cores executable sont restaure' avec un SPEXT invalide. rat 180 area: compiler aspect: complice status: fixed origin: J. Duthen [IRCAM] incompatibilite interprete-compilateur. message d'erruer + explicite du loader? rat 183 area: other status: fixed origin: Remi Houdaille [SEMA METRA] Documentation: description du system HP9000 incorrect rat 187 area: ports aspect: loader status: fixed origin: JC Sejourne [Sema Metra] conflit de nom de 2 fichiers differents, de de me↑me nom rat 191 area: compiler aspect: complice status: fixed origin: Gerard Cany Le comportement de COMPILEFILES face aux extensions est parfois bizarre rat 193 area: language aspect: interpreter status: fixed origin: Parquier [Bull] (PRINT) ne rend pas le mm resultat que (APPLY 'PRINT ()) rat 195 area: compiler aspect: complice status: fixed origin: devin loadmodule si loader non charge' rat 199 area: i/o aspect: virbitmap status: fixed origin: devin (until (tys)) bloque sous virtty rat 207 area: ports aspect: tools status: fixed origin: kuczynsk confusion de machines a` l'expansion, sous NFS avec plusieurs machines rat 212 area: run-time aspect: external-functions status: fixed origin: erhili pusharg ne marche pas avec les flottants rat 215 area: language aspect: extended-types status: fixed origin: nuyens longeur par defaut est faux pour les operations sur les chaines rat 216 area: user-contributed-software status: fixed origin: B. Serpette [INRIA] CEYX ne marche plus dans l'environnement modulaire a` cause de FLAT rat 218 area: compiler aspect: complice status: fixed origin: GRIMM Optimisation douleureuse de compilateur sur cons et last. rat 227 area: language aspect: interpreter status: fixed origin: Matthieu Devin [Ilog] il faut un point d'entre'e pour HBTEQ rat 228 area: ports aspect: loader status: fixed origin: J. Chailloux [Ilog] le clacalcul empirique des sauts courts n'est pas toujours suffisant. rat 232 area: compiler aspect: complice status: fixed origin: Jose GRIMM [INRIA] COMPLICE ne sait pas expanseer les macros dans un PROGN rat 233 area: compiler aspect: complice status: fixed origin: Jose GRIMM [INRIA] Le WARNING W2 de complice sur double definition est parfois bizarre. rat 238 area: language aspect: interpreter status: fixed origin: nuyens document substring-equal rat 240 area: i/o aspect: virbitmap status: fixed origin: nuyens il n'y pas bmref/bmset dans le bv pour X10.4 rat 241 area: i/o aspect: virbitmap status: fixed origin: samarcq de sauver des bitmaps sur fichier prend trop de place et temps. rat 242 area: run-time aspect: o/s-interface status: fixed origin: dana besson mode des fichiers crees par le-lisp sur UNIX (sun) rat 247 area: run-time aspect: o/s-interface status: fixed origin: devin fill area dans X10 ne marche pas toujours en noir sur blanc rat 278 area: other status: fixed origin: Eisenmann Michel [Ilog] le calcul de WIDTH-SUBSTRING ne re'agit pas a` son 1er argument rat 279 area: other status: fixed origin: J. Chailloux [Ilog] le nom de complice.rec a change rat 280 area: ports aspect: loader status: fixed origin: kuczynsk Le passage de loader.lo dans le directory systeme pose des pbs. rat 282 area: compiler aspect: complice status: fixed origin: V. Samarcq [Ilog] cas de mauvais code ge'ne're' avec UNTIL rat 283 area: programming-environment aspect: rats status: fixed origin: devin variable #:system:directory ne peut pas e↑tre positionne' avant startup rat 290 area: run-time aspect: o/s-interface status: fixed origin: devin main() et lelisp() rat 298 area: language aspect: interpreter status: fixed origin: chaillou message d'erreur a` l'application des LAMBDAs rat 299 area: language aspect: interpreter status: fixed origin: nuyens trace d'= plante l'interprete rat 302 area: language aspect: interpreter status: fixed origin: nuyens documentation: def de send-error en chapitre 5 manque.e rat 303 area: language aspect: extended-types status: fixed origin: chaillou NUMBERP teste pas les types e'tendus rat 304 area: language aspect: extended-types status: fixed origin: chaillou arithmetique generique testent mal les types e'tendus rat 305 area: language aspect: extended-types status: fixed origin: chaillou EQSTRING et EQVECTOR rat 308 area: i/o aspect: virbitmap status: fixed origin: devin impossible de re'cuperer les bits d'une icone X10.4 sur e'cran couleur rat 310 area: ports aspect: loader status: fixed origin: Ducourneau & CNET llap68k contient des globales non-packagees comme pop et push. rat 311 area: i/o aspect: basic-i/o status: fixed origin: neidl primitives LLM3 des pathnames rat 312 area: language aspect: interpreter status: fixed origin: chaillou on a besoin de #:system:locint pour hacher des adresses en fixnum rat 321 area: i/o aspect: basic-i/o status: fixed origin: neidl save-core et restore-core - resultat significatif rat 323 area: programming-environment aspect: trace status: fixed origin: neidl trace - compile - setfn - untrace - pretty rat 328 area: memory-management status: fixed origin: nuyens mauvais extension de signe dans le macro llm3 pour subadr