Software-defined radio (SDR) has the potential to enable major innovation in wireless networking design. However, its impact so far has been limited due to complex programming tools. Ziria addresses this problem by providing a novel programming language and an optimizing compiler that can synthesize efficient SDR code from a high-level description of a physical layer (PHY) protocol.

There are currently two compilers for the Ziria language, both available on GitHub. The first, wplc, is available from the Ziria project. A newer compiler, kzc, supports programs written in the original Ziria language as well as a newer dialect that has additional language features, such as generics. It as available as part of the kyllini project. kzc also produces more efficient code than wplc.

Currently, Ziria programs can only be compiled to CPU implementations. We are actively working on an FPGA backend.

The paper Better Living through Operational Semantics: An Optimizing Compiler for Radio Protocols, gives an operational semantics for Ziria and describes several compiler optimizations that leverage this semantics. It describes the most recent language and compiler.

Our semantics for Ziria is formulated using PLT Redex and is available on GitHub.

Please also see the Ziria project page at Microsoft Research.

This work is supported by NSF grant 1717088.


  1. Mainland, G. and Shanmugam, S. 2017. From High-Level Radio Protocol Specifications to Efficient Low-Level Implementations via Partial Evaluation. Proceedings of the 6th International Workshop on Functional High-Performance Computing (FHPC ’17) (Oxford, UK, Sep. 2017).
  2. Mainland, G. 2017. Better Living through Operational Semantics: An Optimizing Compiler for Radio Protocols. Proceedings of the ACM on Programming Languages. 1, 1 (Sep. 2017), 19:1–19:26.
  3. Mainland, G. 2017. A Domain-Specific Language for Software-Defined Radio. Proceedings of the 19th International Symposium on Practical Aspects of Declarative Languages (PADL ’17). Springer International Publishing. 173–188.
  4. Stewart, G., Gowda, M., Mainland, G., Radunovic, B., Vytiniotis, D. and Agulló, C.L. 2015. Ziria: A DSL for Wireless Systems Programming. Proceedings of the 20th International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS ’15) (Istanbul, Turkey, Mar. 2015), 415–428.