I wrote a Haskell version that includes two components:
A very efficient function to rank a set of Texas Hold’em hands.
A Monte Carlo situation that gives you the probability of winning each hand from any known amount of information.
It is available here: https://github.com/ghais/poker