Eclipse PAX - A new programming language for the embedded IoT

Journée thématique
Christian WEICHEL
Vendredi 19 janvier 2018
"Réalisation technique : Antoine Orlandi | Tous droits réservés"

The Internet of Things (IoT) revolves around the development, mass-production and deployment of wireless embedded sensor devices. A plethora of prototyping platforms for exploring and developing those sensor nodes exists. However many of those toolkits do not scale beyond prototyping or offer an inferior development experience compared to other domains, e.g. mobile-apps or the web. To overcome the rigidity of the conventional embedded IoT device development process, we propose PAX: a new programming language designed for the embedded IoT. We designed PAX to be hardware independent and easy to adapt to other IoT and sensor driven developments. It inherits the syntax of modern general-purpose languages (e.g. Swift, Rust, TypeScript, Go), but compiles to near-production ready C code. This transports the hardware scalability (from prototyping to mass-production) to the software world. We introduce first-class primitives for sensor access and connectivity to other systems, which allows for quick exploration and integration into IoT ecologies. We support embedded algorithm through powerful primitives, e.g. lists, vectors and statistic functions. Sporting a static type system with type inference, a heapless memory model and static type/data size inference, we aim to increase developer productivity and happiness.