A decoder for esm tracing subsystem. Basically replacement for this Python script. Haskell is my language of choice for those kind of things these days. Here are the reasons:
- Haskell is more "dataflowy" due to laziness and that's a huge win for stream processing systems (deterministic concurrency, very important for embedded system testing)
- many libraries/frameworks available providing yet more useful streaming semantics (streamly)
- strong static typing is very important for codebases that grow/change a lot (most code used for testing)
- many modules available and easy C/C++ interoperability
There is a default.nix
file provided for builiding with static-haskell-nix
(Nix needs to be installed).
$(nix-build --no-link -A fullBuildScript)
i3-4330 CPU @ 3.50GHz
it took around 7h.
Compiled binaries can be found in releases
section.