Font Size: a A A

Reflective techniques in extensible languages

Posted on:2009-04-13Degree:Ph.DType:Thesis
University:The University of ChicagoCandidate:Riehl, JonathanFull Text:PDF
GTID:2448390002490914Subject:Computer Science
Abstract/Summary:PDF Full Text Request
An extensible programming language allows programmers to use the language to modify one or more of the language's syntactic, static-semantic, and/or dynamic-semantic properties. This dissertation presents Mython, a variant of the Python language, which affords extensibility of all three language properties. Mython achieves extensibility through a synthesis of reflection, staging, and compile-time evaluation. This synthesis allows language embedding, language evolution, domain-specific optimization, and tool development to be performed in the Mython language. This work argues that using language-development tools from inside an extensible language is preferable to using external tools. The included case study shows that users of an embedded differential equation language are able to work with both the embedded language and embedded programs in an interactive fashion---simplifying their work flow, and the task of specifying the embedded language.
Keywords/Search Tags:Language, Extensible
PDF Full Text Request
Related items