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
Link To Document