Publication:
Language extension via dynamically extensible compilers.

dc.contributor.author Seefried, Sean en_US
dc.date.accessioned 2022-03-21T15:46:16Z
dc.date.available 2022-03-21T15:46:16Z
dc.date.issued 2006 en_US
dc.description.abstract This dissertation provides the motivation for and evidence in favour of an approach to language extension via dynamic loading of plug-ins. There is a growing realisation that language features are often a superior choice to software libraries for implementing applications. Among the benefits are increased usability, safety and efficiency. Unfortunately, designing and implementing new languages is difficult and time consuming. Thus, reuse of language infrastructure is an attractive implementation avenue. The central question then becomes, what is the best method to extend languages? Much research has focussed on methods of extension based on using features of the language itself such as macros or reflection. This dissertation focuses on a complementary solution: plug-in compilers. In this approach languages are extended at run-time via dynamic extensions to compilers, called plug-ins. Plug-ins can be used to extend the expressiveness, safety and efficiency of languages. However, a plug-in compiler provides other benefits. Plug-in compilers encourage modularity, lower the barrier of entry to development, and facilitate the distribution and use of experimental language extensions. This dissertation describes how plug-in support is added, to both the front and back-end of a compiler, and demonstrates their application through a pair of case studies. en_US
dc.identifier.uri http://hdl.handle.net/1959.4/29524
dc.language English
dc.language.iso EN en_US
dc.publisher UNSW, Sydney en_US
dc.rights CC BY-NC-ND 3.0 en_US
dc.rights.uri https://creativecommons.org/licenses/by-nc-nd/3.0/au/ en_US
dc.subject.other plug-ins en_US
dc.subject.other functional programming en_US
dc.subject.other extensibility en_US
dc.subject.other dynamic loading en_US
dc.subject.other expression problem en_US
dc.subject.other meta-programming en_US
dc.title Language extension via dynamically extensible compilers. en_US
dc.type Thesis en_US
dcterms.accessRights open access
dcterms.rightsHolder Seefried, Sean
dspace.entity.type Publication en_US
unsw.accessRights.uri https://purl.org/coar/access_right/c_abf2
unsw.identifier.doi https://doi.org/10.26190/unsworks/17477
unsw.relation.faculty Engineering
unsw.relation.originalPublicationAffiliation Seefried, Sean, Computer Science & Engineering, Faculty of Engineering, UNSW en_US
unsw.relation.school School of Computer Science and Engineering *
unsw.thesis.degreetype PhD Doctorate en_US
Files
Original bundle
Now showing 1 - 1 of 1
No Thumbnail Available
Name:
whole.pdf
Size:
772.79 KB
Format:
application/pdf
Description:
Resource type