Home
Schedule
Abstract Template
Masters Attendance
Center
Home
Courses
People
Projects
Page
Edit Page
Rename Page
Attach File
Printable
Wiki Source
More ...
Web
Recent Changes
Notify Service
News
Page Index
Search
More ...
Wiki
About TWiki
Text Formatting
Registration
Change Password
Reset Password
Users
Groups
Log In
or
Register
Binding Time Analysis For Program Specialization In The ESPranto Synchronous Parallel Language
Stc
Date: 2011-08-24 Time: 11:00 Room: [[http://www.cs.uu.nl/docs/reach/bbl.php][BBL]] [[http://www.cs.uu.nl/info/plan/bbl.php][071]] ----+++++ Speaker: Dragos Ionita ----+++++ Title: Binding Time Analysis for Program Specialization in the ESPranto Synchronous Parallel Language ----+++++ Abstract ESPranto is a functional programming language for embedded systems such as the !TagTitles console designed at [[http://serioustoys.com/][Serious Toys]], that extends the Esterel synchronous reactive parallel language. The thesis describes a type system that assigns binding times to subexpressions, and a redesign of ESPranto's syntax and semantics to allow programmer control over binding times. A binding time is either _static_ — indicating that the expression value is available at compile-time and that it can be converted to a dynamic one, _esterel_ — indicating that the expression is related to the coordination constructs inherited from Esterel, or _dynamic_ — indicating that the expression is to be evaluated at runtime, as determined by the aforementioned coordination construct semantics. Binding time annotations enable program specialization, in which a compiler step evaluates parts of the program. Since the type system also allows the abstraction of coordination constructs, program specialization considerably reduces the size and helps human understanding of monolithic coordination code that would have otherwise been required by complex applications, while maintaining correctness properties. In that sense, the role of specialization in ESPranto is comparable to that of macro expansion in other languages.