Permalink
Browse files

Use rank-2 polymorphism to secure ZMQ and Sockets.

Modeled after 'Control.Monad.ST' the ZMQ monad traces control flow with
an uninstantiated type variable 'z' which also marks 'Socket' values.
'runZMQ' universally quantifies over 'z' to prevent it from leaking.
  • Loading branch information...
1 parent 5fc8b4f commit d9ca145f853184e170086d66d76210738f5ce80f @twittner committed Apr 16, 2013
Showing with 192 additions and 200 deletions.
  1. +192 −174 src/System/ZMQ3/Monadic.hs
  2. +0 −26 tests/System/ZMQ3/Test/Properties.hs
Oops, something went wrong.

0 comments on commit d9ca145

Please sign in to comment.