Development of a programming environment for Setl

  • V. Donzeau-Gouge
  • C. Dubois
  • P. Facon
  • F. Jean
I — Environments
Part of the Lecture Notes in Computer Science book series (LNCS, volume 289)


A programming environment for the Setl language is under development, using the Mentor system. Setl is a very high language, with a very flexible syntax and static semantics. The internal representation of a Setl program is a tree defined by the abstract syntax of Setl and annotated by computed type information. First, we discuss the choices done in the definition of the abstract syntax. Then we present the problems related to the type determination in Setl. They are solved by an abstract interpretation using unification and inference rules. This analysis is specified in the so called "natural semantics" and is implemented in Typol.


programming environments very high-level languages abstract syntax type inference unification inference rules abstract interpretation data flow analysis 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [Cle86]
    D. Clément, J. Despeyroux, T. Despeyroux, G. Kahn, "A simple applicative language: mini-ML", RR no 529, INRIA, may 86.Google Scholar
  2. [Cle85]
    D. Clément, J. Despeyroux, T. Despeyroux, L. Hascoet, G. Kahn, "Natural semantics on the computer", RR no 416, INRIA, june 85.Google Scholar
  3. [Cou77]
    P. Cousot, R. Cousot, "Abstract Interpretation: a unified lattice model for static analysis of programs by construction or approximation of fixpoints", Fourth ACM Symposium on Principles of Programming Languages, Los Angeles, January 1977.Google Scholar
  4. [Dew84]
    R.B.K. Dewar, E. Dubinsky, E. Schonberg, J.T. Schwartz "Higher level programming: introduction to the use of the set theoretic programming language SETL", Courant Institute of Math Sciences, New York University, September 1984Google Scholar
  5. [Don83]
    V. Donzeau-Gouge, G. Kahn, B. Lang, B. Mélèse, "Outline of a tool for document manipulation", IFIP, September 1983.Google Scholar
  6. [Kah83]
    G. Kahn, B. Lang, B. Mélèse, "Métal: a formalism to specify formalisms", Science of Computer Programming, North Holland, volume 3, no 2, August 1983, 151–188Google Scholar
  7. [Kru84]
    P. Kruchten, E. Schonberg, J.T. Schwartz, "Software prototyping using the SETL programming language", IEEE Software, volume 1, no 4, 1984, 66–75Google Scholar
  8. [Myc85]
    A. Mycroft, N.D. Jones, "A relational framework for abstract interpretations", Workshop "Programs as Data Objects", Copenhague, october 1985 (in Lecture Notes in Computer Science no 217)Google Scholar
  9. [Pai83]
    R. Paige, "Transformational Programming — Applications to algorithms and systems", Proceedings Tenth ACM Symposium on Principles of Programming Languages, January 1983, 73–87Google Scholar
  10. [Ros85]
    J.P. Rosen, "SETL: un language de très haut niveau pour le prototypage", Actes des journées AFCET "Nouveaux languages pour le Génie Logiciel", BIGRE + GLOBULE, no 45, Octobre 1985Google Scholar
  11. [Sch81]
    E. Schonberg, J.T. Schwartz, M. Sharir, "An automatic technique for selection of data representations in Setl programs", ACM TOPLAS, volume 3, no 2, 126–143Google Scholar
  12. [Ten74]
    A.M. Tenenbaum, "Type determination in a very high level language", Report NSO-3, Courant Institute of Math. Sciences, New York University, 1974Google Scholar
  13. [Wei85]
    G. Weiss, "Recursive types in Setl: automatic determination and efficient implementation", PhD thesis, Courant Institute of Math. Sciences, New York University, October 1985.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1987

Authors and Affiliations

  • V. Donzeau-Gouge
    • 1
  • C. Dubois
    • 1
  • P. Facon
    • 1
  • F. Jean
    • 2
  1. 1.Conservatoire National des Arts et Métiers Chaire d'Informatique ProgrammationParis
  2. 2.Thomson-CSFBagneux CedexFrance

Personalised recommendations