I\'m working on a Haskell daemon that receives and processes JSON requests. While the operations of the daemon are complex, the main structure is intentionally kept simple:
While I am not familiar with Haskell daemon itself, answering your question "how it'd be possible to more effectively pinpoint such a leak", it might be possible to use
valgrind --leak-check=yes haskelldaemon
(better if you compile it with debug info),
OR, if the leak happens in shared library, try
LD_PRELOAD="yourlibrary.so" valgrind your-executable
.