Operators implemented in a native language

Operators that are implemented in a native language are called primitive operators. The native language options for implementing operators in SPL are C++ and Java.

Both Custom operators and composites are defined entirely in Streams Processing Language (SPL). The reasons that developers might choose to implement primitive operators include performance, genericity, and easy access to functions and data structures that exist outside of SPL code. Because primitives are defined outside of SPL, developers must also define an operator model that describes the syntactic and semantic properties of the operator. The operator model is necessary because the SPL compiler cannot infer such properties from the native code.