SWiT (= Scheme With Types) est une implémentation du langage Scheme conformément aux spécifications de "R4RS" et en partie de "R5RS". Les nombres complexes et les nombres rationnels ne sont pas encore implémentés (se sont des parties optionnelles de R4RS) alors que des extensions ont été ajoutées. Pourquoi une autre implémentation alors qu'il en existe déjà de nombreuses et parmi elles de très bonnes ? En dehors de l'intérêt personnel de celui qui tente une expérience de programmation d'une certaine ampleur, l'implémentation de SWiT est basée sur deux points qui me paraissent essentiels : 1) l'implémentation du call/cc qui est aussi efficace qu'un appel de fonction. 2) l'algorithme d'inférence de type qui devra inciter à programmer dans un style plus rigoureux. Toutefois, sous ces deux aspects, la version actuelle (0.97.3) n'est pas tout à fait achevée : 1) Pour ce qui est du call/cc, s'il est vrai qu'il est aussi rapide qu'un appel de fonction et plus rapide que les call/cc trouvés dans les autres implémentations de Scheme, en revanche les appels de fonctions ont perdus (provisoirement) de leur efficacité par rapport à une implémentation "classique" (eval récursif). 2) La terminaison de l'algo n'est pas actuellement assurée (à cause des règles de réécritures). Cela sera remédié dès que mes activités me laisseront un peu de temps. C'est pourquoi l'inférence de type est désactivée par défaut mais peut être réactivée en faisant : (set! *type* #t) (elle doit être déactivée pendant le chargement des fichiers à cause de ce problème de non-terminaison) C'est à cause de son état d'inachèvement relatif que SWiT n'a qu'une diffusion très limitée (on ne le trouve pas sur les serveurs ftp dépositaires de tout se qui se fait en Scheme). Pour plus d'informations sur Scheme, consultez la page du MIT-Scheme, à partir de laquelle on trouve tout le reste: http://www-swiss.ai.mit.edu/scheme-home.html Notes: les versions successives de SWiT sont en général disponibles sur le serveur ftp de l'efrei (ftp://ftp.efrei.fr/pub/lang/swit/) L'auteur peut aussi être contacté directement: didier@oberon.ufr-info-p6.jussieu.fr ou bien (c'est peut-être plus sûr) : ruihua@cybercable.fr Didier VIDAL