Scheme to JavaScript compilation

par Florian Loitsch

Thèse de doctorat en Informatique

Sous la direction de Manuel Serrano.

  • Titre traduit

    Une compilation de Scheme vers JavaScript

  • Pas de résumé disponible.

  • Pas de résumé disponible.

  • Résumé

    This thesis presents a Scheme to JavaScript compiler. Scheme and JavaScript are similar in many respects but differ in some major points. In the context of a Scheme to JavaScript compilation JavaScript's lack of proper tail recursion and continuations is especially noticeable. In this work we first show that without these two features our compiler produces efficient code that rivals with handwritten JavaScript code. However, this reduced input language is not compliant to the Scheme specification but represents a pragmatical sub-language. In this configuration {\sc{Scm2Js}} has been successfully used on a daily basis within our team. Even though not enabled by default, provides proper tail recursion and continuations too. We present a trampoline based technique for proper tail recursion that has the distinct advantage of efficiently integrating with existing JavaScript code. Our continuations implementation is an improvement over existing exception based continuations. We have adapted previous techniques that were designed for one-shot continuations (designed for check-pointing and migration). In order to capture the essence of our continuation algorithm we have developed, a canonic version of our implementation. Without dependencies on non-standard Scheme features, like exceptions, we advertise as an alternative to CPS. We have proved the correctness of on a simplified version of Scheme.

Consulter en bibliothèque

La version de soutenance existe sous forme papier


  • Détails : 1 vol. (171 p.)
  • Annexes : Bibliogr. 165-[170]

Où se trouve cette thèse ?

  • Bibliothèque : Université Nice Sophia Antipolis. Service commun de la documentation. Bibliothèque Sciences.
  • Non disponible pour le PEB
  • Cote : 09NICE4066
Voir dans le Sudoc, catalogue collectif des bibliothèques de l'enseignement supérieur et de la recherche.