{"title":"Towards an extensible, modular compiler construction with scalable abstractions and types","authors":"Jari-Matti Mäkelä, V. Leppänen","doi":"10.1145/2812428.2812476","DOIUrl":null,"url":null,"abstract":"The need for easily extendable programming language tools has all but disappeared with the proliferation of language and paradigms and new compilation tools. A particular area of new language research is the domain of parallel programming which often requires new language abstractions on various levels.\n We introduce a framework for building extendable compilers with composable abstractions utilizing features of object-oriented design, functional programming and dependent types. We demonstrate our approach with examples from parsing and intermediate representation formats extracted from the compiler for a parallel Replica language and make a brief evaluation of the approach from point of view of developer productivity.","PeriodicalId":316788,"journal":{"name":"International Conference on Computer Systems and Technologies","volume":"36 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2015-06-25","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"International Conference on Computer Systems and Technologies","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/2812428.2812476","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 0
Abstract
The need for easily extendable programming language tools has all but disappeared with the proliferation of language and paradigms and new compilation tools. A particular area of new language research is the domain of parallel programming which often requires new language abstractions on various levels.
We introduce a framework for building extendable compilers with composable abstractions utilizing features of object-oriented design, functional programming and dependent types. We demonstrate our approach with examples from parsing and intermediate representation formats extracted from the compiler for a parallel Replica language and make a brief evaluation of the approach from point of view of developer productivity.