Other die rolling implementations just didn't quite cut it for me, so I wrote my own
that leverages the crypto
API and some statistics to generate better random data for
more realistic rolling.
It supports variables and some complex functions, but can't quite deal with deeply nested matrices of functions yet. I've used it via command line for a few sessions of D&D and it worked quite well.