DocumentCode
3022334
Title
Growing a Language in Pattern Calculus
Author
Jay, Barry ; Vergara, Josefina
Author_Institution
Univ. of Technol., Sydney, NSW, Australia
fYear
2013
fDate
1-3 July 2013
Firstpage
233
Lastpage
240
Abstract
Pattern calculus treats all computation as pattern matching, which is, in turn, central to the implementation of programming languages. Hence, its realisation in the general purpose language bondi provides a natural host in which to develop domain-specific languages (DSLs). bondi is a strongly typed language that supports mixing of programming styles to support the features required for language implementation. In particular, bondi supports queries, views and transformations that can be used to develop object-oriented meta-models. The approach is illustrated by growing a small combinatory language in which each language feature i.e. each production of each grammar, is isolated within a single object-oriented class that captures the rules for parsing, type inference, evaluation and printing. Further, growth is used to support lambda-abstractions, providing good evidence that this combinatory language could grow to support a general purpose programming language.
Keywords
grammars; inference mechanisms; object-oriented programming; process algebra; specification languages; DSL; bondi; domain-specific languages; general purpose programming language; lambda-abstractions; object-oriented class; object-oriented meta-models; parsing; pattern calculus; pattern matching; programming languages; type inference; Calculus; Data structures; Grammar; Pattern matching; Printing; Programming; Syntactics;
fLanguage
English
Publisher
ieee
Conference_Titel
Theoretical Aspects of Software Engineering (TASE), 2013 International Symposium on
Conference_Location
Birmingham
Type
conf
DOI
10.1109/TASE.2013.37
Filename
6597903
Link To Document