SWiT (= Scheme With Types) est une implmentation du langage Scheme
conformment aux spcifications de "R4RS" et en partie de "R5RS".
Les nombres complexes et les nombres rationnels ne sont pas encore
implments (se sont des parties optionnelles de R4RS) alors
que des extensions ont t ajoutes. 

Pourquoi une autre implmentation alors qu'il en existe dj de
nombreuses et parmi elles de trs bonnes ?

En dehors de l'intrt personnel de celui qui tente une exprience
de programmation d'une certaine ampleur, l'implmentation de SWiT 
est base sur deux points qui me paraissent essentiels :

  1) l'implmentation du call/cc qui est aussi efficace qu'un appel
     de fonction.
  2) l'algorithme d'infrence 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 acheve :

  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 trouvs
     dans les autres implmentations de Scheme, en revanche les appels de
     fonctions ont perdus (provisoirement) de leur efficacit par
     rapport  une implmentation "classique" (eval rcursif).
  2) La terminaison de l'algo n'est pas actuellement
     assure ( cause des rgles de rcritures). Cela sera
     remdi ds que mes activits me laisseront un peu de temps.
     C'est pourquoi l'infrence de type est dsactive par dfaut mais
     peut tre ractive en faisant : (set! *type* #t)
     (elle doit tre dactive pendant le chargement des fichiers
       cause de ce problme de non-terminaison) 

C'est  cause de son tat d'inachvement relatif que SWiT n'a qu'une
diffusion trs limite (on ne le trouve pas sur les serveurs ftp
dpositaires 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 gnral 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 sr) : ruihua@cybercable.fr

Didier VIDAL

