Query-Based Object-Oriented Programming: A Declarative Web of Objects
We present a declarative, object-oriented language in which queries play a central role. Queries are used not only to access data, but also to refer to the application's object members and as a means of program control. The language is fully declarative, with queries and other pure functions defining the relations between the attributes of different objects. A rule-base-like write operation allows state to be updated. Control is achieved by queries selecting the class variants (mixin classes) which are active in each object. The dynamic activation and deactivation of declarative mixin classes allows decomposition of functionality into small reusable classes.
The programming style in the language is functional and reactive, with function applications defining object members. Queries are one type of function, which also serves as the glue which puts these functions together, providing them with their input. Since queries describe declaratively \emph{what} they return, they leave it to the system to implement the \emph{how} of getting it. Combining this with an organization around objects makes the language highly suitable for complex interactive applications driven by large amounts of data from multiple sources.
Our implementation of the language includes a strong display component. It can be seen as a conceptual extension of HTML and CSS in a way which replaces the need for the JavaScript imperative component in web applications. The work described here is not restricted, however, to front-end development and can be applied elsewhere as well.
Tue 6 NovDisplayed time zone: Guadalajara, Mexico City, Monterrey change
15:30 - 17:00 | |||
15:30 30mTalk | Query-Based Object-Oriented Programming: A Declarative Web of Objects DLS 2018 Yoav Seginer cdl-lang.org, Netherlands, Theo Vosse cdl-lang.org, Netherlands, Gil Harari cdl-lang.org, Israel, Uri Kolodny cdl-lang.org, Israel | ||
16:00 30mTalk | Self-Contained Development Environments DLS 2018 Guido Chari Czech Technical University, Czechia, Javier Pimás Palantir Solutions, Argentina, Jan Vitek Northeastern University, Olivier Flückiger Northeastern University, USA | ||
16:30 30mTalk | Numerical Computing on the Web: Benchmarking for the Future DLS 2018 David Herrera McGill University, Canada, Hanfeng Chen McGill University, Canada, Erick Lavoie McGill University, Canada, Laurie Hendren McGill University, Canada |