Growing a Language in Pattern Calculus

Publisher:
IEEE
Publication Type:
Conference Proceeding
Citation:
2013 International Symposium on Theoretical Aspects of Software Engineering, 2013, pp. 233 - 240
Issue Date:
2013-01
Full metadata record
Files in This Item:
Filename Description Size
Thumbnail2013002363OK.pdf256.88 kB
Adobe PDF
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.
Please use this identifier to cite or link to this item: