A code generation platform for distributed embedded systems.
Most of the code in an embedded system deals with IO, both with sensors and actuators, as well as communicating with a PC, phone, or server. Typically the domain logic implementing the unique behavior that the developer actually cares about is a small portion of the code, but ends up intertwined with all the IO, making it hard to introspect and port between platforms.
Fractal is about breaking the IO into reusable chunks, called components, with structured interfaces defined by state machines, and automatically generating code for them to communicate with each other, whether they're on the same physical hardware or across a network. By simplifying IO, developers can focus on the domain logic unique to their application.
Code in multiple languages can be mixed and matched, so developers can pick the right language for each task -- Rust and C for size and speed, JS or Lua for familiarity, ease of prototyping, and existing netw