SIGMOD '86 Proceedings of the 1986 ACM SIGMOD international conference on Management of data
LFP '86 Proceedings of the 1986 ACM conference on LISP and functional programming
A high performance Erlang system
Proceedings of the 2nd ACM SIGPLAN international conference on Principles and practice of declarative programming
ERLANG for Concurrent Programming
ERLANG for Concurrent Programming
C++ Templates
IEEE Micro
Streams that compose using macros that oblige
PEPM '12 Proceedings of the ACM SIGPLAN 2012 workshop on Partial evaluation and program manipulation
Student attendance reporting prototype using SSQL
Journal of Computing Sciences in Colleges
IBM streams processing language: analyzing big data in motion
IBM Journal of Research and Development
Hi-index | 0.00 |
Complex Event Processing Platforms are a popular technology for developing real-time responsive information processing systems. Because these systems are domain specific, the programming languages used to develop them are consumed by many different users, from domain experts to systems programmers, who want to build applications quickly and change them often. In many application domains, such as trading and system monitoring, data volumes and application constraints make performance critical. This leads to competing priorities between developer productivity and application performance. Support for modular components and component reuse is one area where this tradeoff is apparent. The preexisting module system in the StreamBase StreamSQL programming language was developed for performance, enabling whole program analysis and static typing. It suffered from limitations in error reporting and module reusability. We present newly developed extensions to the StreamSQL module system which allow modules to be used in a variety of environments, hygienically preserving any information that must pass through unchanged. This approach preserves application performance and type-safety while im- proving reusability of modules and increasing error transparency, as measured by the average time taken to find and fix certain kinds of errors. We conclude that a stream-relational language like StreamSQL can have flexible and performant type-safe modules, and that programmers of all abilities benefit from this functionality.