Domain-specific languages and type systems
نویسنده
چکیده
My primary research interests include functional programming languages, embedded domain-specific languages, type systems, and combinatorics, and ways that these topics can contribute to other areas of computer science. More broadly, running through all of my research are three major themes which shape and direct my efforts: • I am highly motivated by beauty in its many forms. I learn new things because they are beautiful; I strive for beauty in all my creative output; I am motivated to communicate an appreciation for beauty in my teaching. Beauty also correlates with generality: the most beautiful solutions are the ones that have cross-discipline applicability. • I love the process of designing beautiful, coherent visions and then following through on the details to make those visions into reality, which I call architecting. I am not interested in theory just for theory's sake, nor in just hacking out details, but in a harmonious synthesis of the two. • Architecting and appreciating beauty always happen in the context of community. I love communicating ideas, through both teaching and writing, and see communication and collaboration as a central and necessary aspect of my research. Good research is not a solitary pursuit, but a dialogue among researchers—I am always on the lookout for other researchers and students to collaborate with. In what follows, I describe several current areas of research, highlighting the ways they fit into the above themes, and elaborate on planned future directions for my research. Almost any domain can benefit greatly from the principled design of domain-specific languages (DSLs) and type systems. Such languages enable more economical communication of problems and solutions in the domain, and abstracting away domain-irrelevant detail enables higher-level thinking and new insights. Moreover, the process of constructing domain-specific languages itself often sheds new light on the domain under consideration, since it exposes fundamental questions about the meaning of entities and operations in the domain. Type systems play an important role in the design of expressive DSLs. Sme of my earlier work was concerned with extending Haskell's type system to allow " promotion " of values to types [4], a feature particularly useful for DSLs embedded in Haskell. That work has made a big impact in the functional programming world, garnering nearly 50 citations over the past two years. My current work on embedded domain-specific languages focuses on the areas of graphics and animation. For the past six years I have …
منابع مشابه
Type Systems for Domain-specific Languages
Model-driven software development employs models to describe different aspects of a system on different levels of abstraction. These aspects are driven by technology or application domain. Modeling is often done in specific graphical or textual notations, called domain-specific languages (DSL). In recent years such languages became very popular in the modeling community to describe structure an...
متن کاملA Framework for Implementing Type Systems
Type systems are ubiquitous in the study of programming languages. Although the basic mechanisms are well understood, a new type system can still be a challenge to implement. We present the design and implementation of a domain-specific language (i.e., a functional framework) for writing type system implementations. This domain-specific language has been embedded in both Haskell and Scheme. It ...
متن کاملA Domain-Specific Language for Device Drivers
Device drivers have been noted as a major source of faults in operating system code [2]. Largely for efficiency, device drivers and other systems code have historically been written in low-level languages like C. Unfortunately, these languages do not provide the type safety and robustness one would expect in critical systems code. Work has been done to augment the type safety of low-level langu...
متن کاملResource-Safe Systems Programming with Embedded Domain Specific Languages
We introduce a new overloading notation that facilitates programming, modularity and reuse in Embedded Domain Specific Languages (EDSLs), and use it to reason about safe resource usage and state management. We separate the structural language constructs from our primitive operations, and show how precisely-typed functions can be lifted into the EDSL. In this way, we implement a generic framewor...
متن کاملCultural Elements in the Translation of Children's Literature: Persian translation of Roald Dahl’s Matilda in focus
Translation can have long-term effects on all languages and cultures. It is not a mere linguistic act, but mostly a cultural act, since language is by nature one of the major carriers of cultural elements. Thus, the translator’s job is not just transferring the meaning of words and sentences from the source text to the target text. Culture-specific items often cause translation problems. Identi...
متن کاملCultural Elements in the Translation of Children's Literature: Persian translation of Roald Dahl’s Matilda in focus
Translation can have long-term effects on all languages and cultures. It is not a mere linguistic act, but mostly a cultural act, since language is by nature one of the major carriers of cultural elements. Thus, the translator’s job is not just transferring the meaning of words and sentences from the source text to the target text. Culture-specific items often cause translation problems. Identi...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2014