<html><head><meta http-equiv="content-type" content="text/html; charset=utf-8"></head><body dir="auto"><div dir="ltr"></div><div dir="ltr"><a href="http://hackage.haskell.org/package/dejafu">http://hackage.haskell.org/package/dejafu</a> might do what you want</div><div dir="ltr"><br>On Mar 4, 2019, at 10:33 PM, Doug McIlroy <<a href="mailto:doug@cs.dartmouth.edu">doug@cs.dartmouth.edu</a>> wrote:<br><br></div><blockquote type="cite"><div dir="ltr"><span></span><br><blockquote type="cite"><span>Is there some fantastic tool/library which already does everything I want?</span><br></blockquote><span></span><br><span>Have you looked into model checkers like Spin, which was developed</span><br><span>for the very purpose of exhaustively checking protocols? See <a href="http://spinroot.com">spinroot.com</a></span><br><span></span><br><span>Doug McIlroy</span><br><span>_______________________________________________</span><br><span>Haskell-Cafe mailing list</span><br><span>To (un)subscribe, modify options or view archives go to:</span><br><span><a href="http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe">http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe</a></span><br><span>Only members subscribed via the mailman list are allowed to post.</span></div></blockquote></body></html>