• DocumentCode
    3113042
  • Title

    Static Name Control for FreshML

  • Author

    Pottier, François

  • Author_Institution
    INRIA, France
  • fYear
    2007
  • fDate
    10-14 July 2007
  • Firstpage
    356
  • Lastpage
    365
  • Abstract
    FreshML extends ML with constructs for declaring and manipulating abstract syntax trees that involve names and statically scoped binders. It is impure: name generation is an observable side effect. In practice, this means that FreshML allows writing programs that create fresh names and unintentionally fail to bind them. Following in the steps of early work by Pitts and Gabbay, this paper defines Pure FreshML, a subset of FreshML equipped with a static proof system that guarantees purity. Pure FreshML relies on a rich binding specification language, on user-provided assertions, expressed in a logic that allows reasoning about values and about the names that they contain, and on a conservative, automatic decision procedure for this logic. It is argued that pure FreshML can express non-trivial syntax-manipulating algorithms.
  • Keywords
    computational linguistics; page description languages; specification languages; Pure FreshML; abstract syntax trees; name generation; specification language; Automatic logic units; Costs; Logic programming; Pattern matching; Specification languages; Writing;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Logic in Computer Science, 2007. LICS 2007. 22nd Annual IEEE Symposium on
  • Conference_Location
    Wroclaw
  • ISSN
    1043-6871
  • Print_ISBN
    0-7695-2908-9
  • Type

    conf

  • DOI
    10.1109/LICS.2007.44
  • Filename
    4276579