On Friday October 17, this site was moved to a new server, https://mw.hh.se. The original address will continue to work. Whithin a week or two this site will return to the original address. /Peo HH IT-dep
WG211/M11Brady: Difference between revisions
From WG 2.11
Jump to navigationJump to search
Created page with "'''Implementing Domain Specific Languages by Syntax Overloading''' by Edwin Brady I will describe a new overloading notation, implemented in Idris, that facilitates programming,..." |
No edit summary |
||
| Line 2: | Line 2: | ||
I will describe a new overloading notation, implemented in Idris, | I will describe a new overloading notation, implemented in Idris, | ||
that facilitates programming, modularity and reuse in Embedded Domain | that facilitates programming, modularity and reuse in Embedded Domain Specific Languages (EDSLs), and use it to reason about safe resource usage and | ||
state management. The EDSL separates the structural language constructs from | state management. The EDSL separates the structural language constructs from | ||
primitive operations, and allows precisely-typed functions to be | primitive operations, and allows precisely-typed functions to be | ||
lifted into the EDSL. In this way, we implement a generic framework for | lifted into the EDSL. In this way, we implement a generic framework for | ||
constructing state-aware EDSLs for systems programming. | constructing state-aware EDSLs for systems programming. | ||
Latest revision as of 12:15, 12 June 2012
Implementing Domain Specific Languages by Syntax Overloading by Edwin Brady
I will describe a new overloading notation, implemented in Idris, that facilitates programming, modularity and reuse in Embedded Domain Specific Languages (EDSLs), and use it to reason about safe resource usage and state management. The EDSL separates the structural language constructs from primitive operations, and allows precisely-typed functions to be lifted into the EDSL. In this way, we implement a generic framework for constructing state-aware EDSLs for systems programming.