Imperial College London

Emeritus ProfessorSusanEisenbach

Faculty of EngineeringDepartment of Computing

Emeritus Professor of Computing
 
 
 
//

Contact

 

s.eisenbach Website

 
 
//

Location

 

Huxley BuildingSouth Kensington Campus

//

Summary

 

Publications

Citation

BibTex format

@inproceedings{Sackman:2009,
author = {Sackman, M and Eisenbach, S},
pages = {34--51},
title = {Safely Speaking in Tongues: Statically Checking Domain Specific Languages in Haskell},
url = {http://hdl.handle.net/10044/1/5842},
year = {2009}
}

RIS format (EndNote, RefMan)

TY  - CPAPER
AB - Haskell makes it very easy to build and use Domain Specific Languages (DSLs). However, it is frequently the case that a DSL has invariants that can not be easily enforced statically, resulting in runtime checks. This is a great pity given HaskellÆs rich and powerful type system and leads to all the usual problems of dynamic checking. \r\n\r\nWe believe that Domain Specific Languages are becoming more popular: the internet itself is a good example of many DSLs (HTML, CSS, JavaScript, Flash, etc), and more seem to be being added every day; most graphics cards already accept programs written in the DSL OpenGL Shading Language (GLSL); and the predicted growth of heterogeneous CPUs (for example IBMÆs Cell CPU) will demand many different DSLs for the various programming models and instruction sets that become available. \r\n\r\nWe present a technique that allows invariants of any given DSL to be lifted into the Haskell type system. This removes the need for runtime checks of the DSL and prevents programs that violate the invariants of the DSL from ever being compiled or executed. As a result we avoid the pitfalls of dynamic checking and return the user of the DSL to the safety and tranquillity of the strongly statically typed Haskell world. \r\n\r\n
AU - Sackman,M
AU - Eisenbach,S
EP - 51
PY - 2009///
SP - 34
TI - Safely Speaking in Tongues: Statically Checking Domain Specific Languages in Haskell
UR - http://hdl.handle.net/10044/1/5842
ER -