• 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